正如socks5 RFC所說,
當 UDP ASSOCIATE 請求到達的 TCP 連接終止時,UDP 關聯終止。
我想知道,“UDP ASSOCIATE 請求到達的 TCP 連接”在超時時不會終止嗎?因為在該 TCP 連接中不需要發送更多資料。
客戶端是否應該在該 TCP 連接中發送無意義的資料,以便在需要 UDP 關聯時保持活動狀態?
uj5u.com熱心網友回復:
我想知道,“UDP ASSOCIATE 請求到達的 TCP 連接”在超時時不會終止嗎?
否。TCP 連接保持活動狀態,作為代理的 UDP 套接字仍然有效的信號。沒有它,客戶端就無法知道服務器是否仍然可以訪問,或者是否仍然分配了 UDP 套接字。
類似地,如果沒有 TCP 連接,服務器沒有其他方法知道客戶端是否仍然連接。
客戶端是否應該在該 TCP 連接中發送無意義的資料,以便在需要 UDP 關聯時保持活動狀態?
沒有必要發送無意義的資料。只要保持連接有效。TCP 有一個內置的keepalive 機制,可以打開。
編輯:值得指出的是,Linux 和 Windows 上的默認 TCP 保持活動時間相當長。見這對調整它的特定插槽的方式問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/387196.html
