비동기 호출을 사용하여 TCP 클라이언트를 작성하고 있습니다. 앱이 시작될 때 서버가 활성화되어 있으면 서버가 연결되어 대화를 나갑니다. 그러나 첫 번째 연결이 실패하면 connect()에 대한 모든 후속 호출은 네트워크 트래픽을 생성하지 않고 WSAENOTCONN (10057)으로 실패합니다 (Wireshark로 확인).TCP 소켓 연결 실패 후 올바른 절차는 무엇입니까?
현재 오류가 발생하면 코드가 소켓을 닫지 않습니다. TCP 상태 다이어그램에는 TCP 상태 도표가 필요하지 않습니다. 단지 30 초 동안 대기하고 connect()를 다시 시도합니다.
후속 connect() 및 다음 read() 모두 WSAENOTCONN 오류를 반환합니다.
소켓을 닫고 새 소켓을 열어야합니까? 그렇다면 어떤 오류가 소켓을 닫아야합니까? 다른 오류가 많기 때문에 테스트 벤치에서 볼 수 없을 것입니다.
실제적으로 Interval Zero RTX 2009이지만 일부 지역에서는 약간 다르지만 MS Winsock2라고 가정 할 수 있습니다.
WSAENOTCONN은 'connect()'에 대한 문서화 된 오류 코드가 아닙니다. –