如何解決長城寬頻主動斷開tcp長連接的問題?
01-23
我們在阿里雲跑了一個掛在負載均衡後的websocket服務,電信聯通用戶都非常穩定,就是所有長城寬頻用戶連接我們服務時都會瘋狂掉線。每次連上之後幾秒內立馬10056 reset by peer,然後後續重連全部失敗。
碰到這種垃圾寬頻應該如何解決用戶掉線問題?據說長寬用戶的公網IP都在一直亂變,那豈不是IP一變他的所有長連接都會被斷開?如果我們全部改用http通訊會不會解決掉線問題?
只能打長寬客服轉機房網管做白名單解決。TCP/IP協議下,出口路由的埠只有65536個,長寬一個出口路由下內網用戶太多,為了不讓高峰時長鏈接佔滿了出口路由埠,埠老化策略會強制隨機掐掉部分長鏈接。
可以嘗試自己封裝一個基於應用層的KeepAlive機制,失去連接就等待若干個周期的心跳包,沒有的話再確認斷開。檢測到同一客戶不同ip的心跳包就在底層新建連接,上層還保持原樣。這樣對應用程序來說是沒有斷開的。
這就是垃圾寬頻,禁用了迅雷,並且不知起了什麼代理,導致我使用foxmail時,不斷讓我輸入密碼,並且認證不通過...
歪個樓……
長城寬頻就是個垃圾,辦了一年的。現在後悔死了。
工信部投訴
用戶量龐大的話可以聯繫長寬的技術人員查清楚具體原因再考慮如何解決,他們出於用戶體驗也會重視解決的。。我們就聯繫過他們解決過即時的掉線問題。。否則只能從上層考慮解決方案了
瀉藥。如果連接很順暢但是tcp斷開,也可能是用戶的上游設備負荷滿了,不得不幹掉一批連接。
早些年在長城工作過,基礎設施確實不太給力,帶寬超售n倍是常態。
換成無狀態的http當然沒這問題了。
長寬也就適合沒有特別需求的家用,確實便宜呀。其他的情況都不應考慮長寬。
長寬還會劫持HTTP呢,比如暴力緩存你們的HTTP傳輸內容,真想安全還是上HTTPS吧
推薦閱讀:
※epoll非阻塞伺服器,在20k並發測試結束產生大量establish狀態假連接,可能原因?
※用 wireshark抓包工具能做到哪些有趣的事情?
※為什麼 ssh root@163.com 或者 ssh root@zhihu.com 都沒有反應?
※最近在nginx1.9.1中支持了reuse_port這個功能 是准許多個socket監聽同一個埠?
※在 TCP/IP 協議中,客戶端發出請求,服務端回復響應,客戶端在數據鏈路層會校驗目的 MAC 地址嗎???