并发 ServerSocket 连接数
Concurrent ServerSocket connections
参考 Andrey Kozhanov 代码中的 this post。
在 Server.java 中,第 14 行,方法 运行():
当我发送文件 "A" 并且在文件传输期间启动另一个客户端并发送其他文件 "B" 时,最后一次传输 ("B") 将阻塞直到 "A"完成。
如何实现并发服务器接收器?
谢谢。
您可以为每个新客户创建新线程。
public class Server extends Thread {
...
@Override
public void run() {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
while (true) {
Socket s = serverSocket.accept();
(new FileSaver(s)).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
...
}
public class FileSaver extends Thread {
Socket socket;
public FileSaver(Socket socket) {
socket = socket;
}
public saveFile() {
// save the file here
};
public void run() {
saveFile();
}
}
参考 Andrey Kozhanov 代码中的 this post。
在 Server.java 中,第 14 行,方法 运行():
当我发送文件 "A" 并且在文件传输期间启动另一个客户端并发送其他文件 "B" 时,最后一次传输 ("B") 将阻塞直到 "A"完成。
如何实现并发服务器接收器?
谢谢。
您可以为每个新客户创建新线程。
public class Server extends Thread {
...
@Override
public void run() {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
while (true) {
Socket s = serverSocket.accept();
(new FileSaver(s)).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
...
}
public class FileSaver extends Thread {
Socket socket;
public FileSaver(Socket socket) {
socket = socket;
}
public saveFile() {
// save the file here
};
public void run() {
saveFile();
}
}