closesocket (m_socket)을 두 번 호출하면 어떻게됩니까? 첫 번째 호출 후 소켓이 닫힙니다. 두 번째 호출 후에도 프로그램이나 응용 프로그램에 적합하지 않은 무언가가 발생합니다. 아니면 그냥 무시할 수있는 오류를 반환합니다.이미 닫힌 소켓 winsock을 닫으려고하면 어떻게됩니까?
4
A
답변
1
은의 매개 변수에 전달 된 소켓 기술자가 즉시 즉시 closesocket 함수 기능이 실행으로 시스템에 의해 재사용 될 수 있음을 http://msdn.microsoft.com/en-us/library/windows/desktop/ms737582(v=vs.85).aspx
참고를 참조하십시오. 따라서 s 매개 변수로 전달 된 소켓 설명 자에 대한 추가 참조가 WSAENOTSOCK 오류로 실패 할 것으로 예상하는 것은 신뢰할 수 없습니다. 오히려 필요한 담요 금지보다 - 파일 열기 및 다른 소켓을 포함 -
나는 중간 코드는 기술자를 포함하는 아무 짓도 모른다 때 의미로 두 번 소켓을 종료하지 않도록주의해야한다고 해석하는 것 그러나 이것은 실제적으로 연약한 것이며 여러분은 그 가능성을 피하기 위해 코딩해야합니다. 소켓 디스크립터를 유지하기 위해 사용하고있는 변수에 INVALID_SOCKET을 할당하면, closesocket을 다시 호출하기 전에 체크 할 수있다. 또는 (더 나쁜) 두 번째 호출의 부작용없는 실패를 보장 할 수있다.
관련 문제
- 1. 닫힌 소켓, java.net.SocketException : 소켓 닫음
- 2. 닫힌 소켓을 닫으면 어떻게됩니까?
- 3. 닫힌 파일 설명자는 어떻게됩니까?
- 4. 닫힌 후 WPF 창은 어떻게됩니까?
- 5. 소켓 닫힌 문제
- 6. 닫힌 소켓 감지
- 7. 소켓이 닫힌 소켓
- 8. 닫힌 모드 또는 이미 닫은 모드로 보안 웹 소켓
- 9. 이미 닫힌 SqlConnection 열기
- 10. Winsock을 사용하여 소켓 목록 가져 오기
- 11. winsock을 둘러싼 BSD 소켓 호환 래퍼?
- 12. 닫힌 뮤텍스를 기다리는 경우 어떻게됩니까?
- 13. 자식 프로세스에서 닫힌 소켓 닫기
- 14. 소켓 승인시 어떻게됩니까?
- 15. 는 Tomcat6는 - 연결이 이미 닫힌
- 16. Winsock을 바인드 주소
- 17. ThreadPool WaitCallback이 닫힌 후에 폼을 호출하면 어떻게됩니까?
- 18. Winsock을 선택보고하는 10022 오류
- 19. Winsock을 사용하여 소켓 연결 유지 값을 쿼리하는 방법은 무엇입니까?
- 20. C# 핸들 강제 닫힌 소켓 연결
- 21. PHP에서 닫힌 소켓 감지 방법 (FIN 플래그)?
- 22. 닫힌 후에도 소켓 연결이 잠시 동안 지속됩니다.
- 23. 이미 닫힌 개체를 다시 열려고 시도합니다. SQLiteDatabase
- 24. 루아는 a를 닫아야합니다. {이미 닫힌 상태입니다.
- 25. Android Test = 이미 닫힌 데이터베이스 열기
- 26. 이미 닫힌 객체를 다시 열려고 시도합니다 : java.lang.IllegalStateException :?
- 27. 소켓 EADDRINUSE (이미 사용중인 주소)
- 28. 소켓 연결이 이미 내가 사용
- 29. Winsock을 통해 int 배열 보내기
- 30. Watir 브라우저를 닫으려고하면 연결이 거부되었습니다.
이 [L1] (http://stackoverflow.com/questions/3115561/calling-shutdown-and-closesocket-twice-on-same-socket) 도움이 될 수 있습니다. –