所以,我不确定这里存在什么问题,但我试图用Java创建一个简单的服务器,但是每当客户端连接时(我一直通过来自Google Chrome的本地主机请求),单个客户端连接将连接多次。 (即每次我通过浏览器连接到我的服务器时,服务器打印出“用户连接成功”2-5次)。我不确定主线程可能会如何回到循环顶部并连接到同一个客户不止一次。Java ServerSocket多次连接到同一个套接字
...
ServerSocket ss = new ServerSocket(9876);
while(true)
{
Socket s = ss.accept();
if(count >= queuesize || count >= numproducers)
{
System.out.println("Thread pool has reached it's limit. User access denied.");
//....
//error message sent to user here
//....
}
else
{
System.out.println("User connected successfully");
for(int x=0;x<numproducers;x++)
{
if(threads.get(position).isAvailable())
{
threads.get(x).start(s);
position = (position+1) % numproducers;
break;
}
position = (position+1) % numproducers;
}
}
}
使用远程登录表示是否发生,如果你让自己的客户端,还是? –
您是否认为Chrome可能连接多次? (使用lsof检查,如果您在Linux上,则查看打开的连接。) – vanza
请同时分享客户端代码。 – Braj