>

연결이 설정 될 때까지 (예 : 서버를 시작할 때까지) 서버에 지속적으로 연결하려고하는 클라이언트가 있습니다.

clientSocket = new Socket();
while (!clientSocket.isConnected()) {
    try {
        clientSocket.connect(new InetSocketAddress(serverAddress, serverPort));
    } catch (IOException e) {
        e.printStackTrace();
    }
    // sleep prevents a billion SocketExceptions from being printed,
    // and hopefully stops the server from thinking it's getting DOS'd
    try {
        Thread.sleep(1500);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

첫 번째 시도 후 ConnectionException 를 얻습니다 ;연결할 것이 없기 때문에 예상됩니다. 그러나 그 후 SocketException: Socket closed 를 받기 시작합니다.   clientSocket.isClosed() 이후 나에게 이해가되지 않습니다   connect() 전후에 항상 false를 리턴합니다.  전화.

필요한 기능을 얻기 위해 코드를 어떻게 변경해야합니까?


  • 답변 # 1

    Socket 를 다시 연결할 수 없습니다 연결 시도가 실패한 경우에도 마찬가지입니다. 닫고 새 것을 만들어야합니다.

  • 이전 파이썬 Bokeh를 사용하여 LinearColorMapper를 그리는 원을 그리는 방법
  • 다음 google app maker - 데이터 소스가 관계가있는 테이블을 정렬하는 방법