2012-06-30 193 views
-1

我正在編寫客戶端 - 服務器應用程序(客戶端位於AS3-AIR,C#中的服務器)。長時間休息後套接字不發送數據

建立連接後,它們可以將文件傳輸給對方等。一切都很好。
但是,如果套接字連接有長時間中斷(當它們仍連接時),連接將停止發送數據。

這很奇怪,因爲ActionScript套接字「.connected」返回true。相同的C#服務器。
有人遇到過這個問題嗎?

+3

任何可能超時的NAT路由器?通常不是通過TCP套接字發送常規ping或其他信息包來確保雙方都在那裏。 – TomTom

+0

我們在談論休息多久?秒?或者幾天?當你嘗試發送時究竟發生了什麼?你有錯誤嗎? –

+0

@TomTom這就是Tcp Keep Alive的用途; – GETah

回答

0

我建議每10秒發送一次ping(和回覆pong)。

+0

保持新鮮,IRC做它的方式 - 可以發送PING [隨機值]並期望PONG [相同的值]。 – davidkomer