2012-03-19 3 views
1

C# 클라이언트/Java 서버 chatroom을 만들고 있는데, 한 가지를 제외하고는 모든 것이 잘 작동합니다. 응용 프로그램을 사용하지 않거나 사용하지 않고 얼마 동안 (한 시간 정도 후)C#/Java 소켓 연결이 끊어 졌습니까?

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 

마십시오 자바 나 C# 소켓 연결이 공회전 시간 후에 종료 : 그것은 socket.EndReceive() 함수에서 나에게 C#을 클라이언트에서의 SocketException을 준다? 아니면 TCP 프로토콜일까요? 문제를 해결하는 가장 좋은 방법은 무엇입니까?

감사합니다.

바스

답변

1

마십시오 자바 나 C# 소켓 연결은 공회전 시간 후 종료?

번호 그러나, 방화벽, 특히 NAT 게이트웨이는 종종 자동으로 수행합니다.

수정하는 가장 좋은 방법은 무엇입니까?

하트 비트 절차를 구현하십시오. 즉 클라이언트 및/또는 서버는 접속 상태를 유지하고 실패한 피어를 더 빨리 검출하기 위해 사용 된 특별한 메시지를 주기적으로 (예를 들어 10 초 또는 30 초마다) 전송한다.

+0

방금 ​​보내던 Keepalive 패킷을 만들었습니다. 아니면 더 자주해야합니까? 그것이 고쳐지면 대답을 받아 들일 것임을 표시 할 것입니다. 감사! – Basaa

관련 문제