JAVA 传文件
来源:百度知道 编辑:UC知道 时间:2024/07/05 06:02:14
我初学JAVA SOCKET,写了一个传输文件的程序,但是很奇怪,只能传一个文件,不能传第二个,大致问题是这样,还有些具体的说不清楚。希望高手留下QQ帮我看看什么问题啊,我可以把代码发给你,也能交流交流~
这个问题是因为你的服务器端只起了一个线程
当传完第一个文件后
服务器端的端口号还在使用中
第二个文件就没有办法访问这个使用中的端口
解决办法:
写一个死循环,只要有客户端访问,就分配一个线程给新的客户端
这样就可以了。
不懂再 HI 我吧
看看这段代码,先起Server端
再运行Client端
import java.io.*;
import java.net.*;
import java.util.*;
public class ChatServer {
boolean started = false;
ServerSocket ss = null;
List<Client> clients = new ArrayList<Client>();
public static void main(String[] args) {
new ChatServer().start();
}
public void start() {
try {
ss = new ServerSocket(8888);
started = true;
} catch (BindException e) {
System.out.println("端口使用中....");
System.out.println("请关掉相关程序并重新运行服务器!");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
try {
while(started) {
Socket s = ss.accept();