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();