메시지가 클라이언트 응답없이 C#의 Tcp 소켓에 의해 전송되었는지 어떻게 알 수 있습니까?메시지가 클라이언트 응답없이 C#의 Tcp 소켓에 의해 전송되었는지 어떻게 알 수 있습니까?
0
A
답변
1
TCP 소켓의 Send
메서드를 사용하여 바이트를 보내는 경우 TCP는 모든 바이트가받는 사람에게 배달되도록합니다. 바이트를 전달할 수없는 경우 Send
메서드는 예외를 throw합니다.
그러나 Socket은 보내기 전에 일부 바이트를 버퍼링 할 수 있으므로 TCP가 바이트의 전달을 보장하더라도 Send
메서드가 반환 될 때 아직 전송되지 않았을 수 있습니다.
또한 프로그램이 Receive
메서드를 호출하는 경우에만 TCP 연결이 끊어 졌는지 확인할 수 없습니다. TCP 연결이 여전히 작동하는지 확인하기 위해 수시로 데이터를 보내야합니다.
+2
보낸 사람 측 버퍼링 덕분에 이것이 항상 사실은 아닙니다. 송신이 버퍼링 될 수 있으며 연결이 실패 할 수 있습니다. – Richard
관련 문제
- 1. 응답 데이터가 아직 ASP.NET에 클라이언트로 전송되었는지 어떻게 알 수 있습니까?
- 2. 주어진 MAPI 메시지가 들어오고 나가는 지 어떻게 알 수 있습니까?
- 3. 어떻게 알 수 있습니까?
- 4. C의 다중 TCP 연결
- 5. XMLHttpRequest는 콜백 호출시기를 어떻게 알 수 있습니까?
- 6. TCP 소켓에 유선 연결이 필요합니까?
- 7. TCP 패킷이 C#에서 ACK를 수신했는지 어떻게 확인할 수 있습니까?
- 8. TCP 스트림 수신을 완료하면 어떻게 알 수 있습니까?
- 9. 패킷이 TCP Keep-Alive인지 어떻게 알 수 있습니까?
- 10. 동일한 TCP 소켓에 다중 스레드
- 11. TCP 클라이언트 플래시 AS3
- 12. 내 행동이 RenderAction에 의해 호출되는지 어떻게 알 수 있습니까?
- 13. OS에 의해 활동이 중단된다는 것을 어떻게 알 수 있습니까?
- 14. 이메일이 실제로 전송되는지 어떻게 알 수 있습니까?
- 15. 서버가 SSL을 지원하는지 어떻게 알 수 있습니까?
- 16. HTTP 처리기가 처리를 완료하면 클라이언트 측에서 어떻게 알 수 있습니까?
- 17. 클라이언트 측에서 JavaScript를 사용하여 페이지가 암호화되었는지 어떻게 알 수 있습니까?
- 18. PHP 파일이 클라이언트 쪽에서 js에서만 호출되었는지 어떻게 알 수 있습니까?
- 19. java TCP 소켓 메시지가 끊어집니다.
- 20. 특정 소켓에 대한 TCP 수신 창을 늘리십시오.
- 21. 이메일 클라이언트 발신자 IP를 알 수 있습니까?
- 22. 각각의 열린 소켓에/proc/net/tcp 항목을 어떻게 일치시킬 수 있습니까?
- 23. mapView가로드되었는지 어떻게 알 수 있습니까?
- 24. 부스트 스레드가 완료되었는지 어떻게 알 수 있습니까?
- 25. 소켓에 연결할 수 없습니다.
- 26. MessageWindow - 그것이 파괴되었는지 어떻게 알 수 있습니까?
- 27. 프로그램은 ClickOnce인지 여부를 어떻게 알 수 있습니까?
- 28. WinRT - TCP 클라이언트?
- 29. 클라이언트 서버 - (TCP)
- 30. 사용자가 Facebook에 로그인했는지 어떻게 알 수 있습니까?
Btw TCP는 스트림 지향 전송입니다. 메시지를 처리하지 않고 단지 바이트 스트림을 처리합니다. – dtb