그래서 문제가 무엇인지 확실하지 않지만 Java로 간단한 서버를 만들려고합니다. 그러나 클라이언트가 연결할 때마다 (저는 Google 크롬의 로컬 호스트 요청) 하나의 단일 클라이언트 연결이 두 번 이상 연결됩니다. (즉, 내 브라우저를 통해 서버에 연결할 때마다 서버가 "사용자 연결에 성공했습니다"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이 여러 번 연결되어있는 것으로 보았습니까? Linux의 경우 lsof를 사용하여 열려있는 연결을 확인하십시오. – vanza
또한 클라이언트 코드를 공유하십시오. – Braj