Java 套接字:同一台计算机上的同一端口上的多个客户端线程?
2022-09-02 10:42:15
我是Java中套接字编程的新手,并试图了解下面的代码是否不是一件错误的事情。我的问题是:
我是否可以在每个线程上有多个客户端尝试连接到同一程序中的服务器实例,并期望服务器在客户端之间隔离地读取和写入数据”
public class Client extends Thread
{
...
void run()
{
Socket socket = new Socket("localhost", 1234);
doIO(socket);
}
}
public class Server extends Thread
{
...
void run()
{
// serverSocket on "localhost", 1234
Socket clientSock = serverSocket.accept();
executor.execute(new ClientWorker(clientSock));
}
}
现在,我可以在不同的线程上有多个客户端实例尝试在当前计算机的同一端口上进行连接吗?
例如
Server s = new Server("localhost", 1234);
s.start();
Client[] c = new Client[10];
for (int i = 0; i < c.length; ++i)
{
c.start();
}