Refer this post in Andrey Kozhanov' code.
In Server.java, line 14, method run():
When I send a file "A" and during file transfer start another Client and send other file "B", this last transfer ("B") will block until "A" finishes.
How can I implement a concurrent server receiver?
Thanks.
You can create new Thread for every new client.
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();
}
}