主題:TCP SOCKET 10054錯誤 的疑問 共有26855人關注過本帖 |
---|
BG001 |
1樓 |
TCP SOCKET 10054錯誤 的疑問 Post By:2009-8-26 9:39:00 [只看該作者]
相同的客戶端服務端程序(長連接,不希望中途斷開,斷開幾率很小也可以,通信頻率目前大約是平均20秒一次),客戶端(WINCE)通過以太網與服務端通信,程序運行3天沒一次異常;但通過GPRS與服務端通信,不定時會在服務端和客戶端SOCKET讀數據的時候捕捉到10054錯誤(平均一小時1~2次),這是GPRS通信本身的問題還是什么?捕捉到異常重連這個方法我是實現了,但是更希望連接不要斷開,另外還有什么解決辦法嗎?
|
|
單帖管理 | 引用 | 回復 |
補充 |
2樓 |
Post By:2009-8-26 10:08:00 [只看該作者]
IP_TTL  設置為128了 也是一樣的效果
|
|
單帖管理 | 引用 | 回復 |
lqk |
3樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-8-26 10:46:00 [只看該作者]
1、GPRS網絡有可能不穩定
2、如果較長時間沒有數據通信,移動節點服務器可能將連接斷開 |
單帖管理 | 引用 | 回復 |
補充 |
4樓 |
Post By:2009-8-26 14:40:00 [只看該作者]
目前大約是20秒通信一次,應該可以排除你說的2,
如果GPRS不穩定導致這種情況 有沒有辦法補救措施呢? |
|
單帖管理 | 引用 | 回復 |
lqk |
5樓 信息 | 搜索 | 郵箱 |
加好友 發短信 |
Post By:2009-8-26 16:45:00 [只看該作者]
你服務器上會不會有防火墻或其它的軟件影響網絡通信呢
如果是因為網絡原因引起的,除了重連以外,沒有更好的辦法。 |
單帖管理 | 引用 | 回復 |
補充 |
6樓 |
Post By:2009-8-27 10:22:00 [只看該作者]
通過以太網與GPRS通信的對比,初步認為是網絡延時造成的,而和客戶端和服務端硬件和程序無關。TCP本身的重傳機制、超時機制我不太了解。希望是通過增加TCP超時時間或許可以解決。IP_TTL 值設置得越大,會不會增加TCP超時時間?有什么其它辦法沒有?
|
|
單帖管理 | 引用 | 回復 |