我要創建tcp客戶端,對方要求我帶個固定的本地埠。同時程式啟動后要主動連對方(對方可能沒有開機) 。如果是winform開發,應該怎么設計才合理呢?
我想是不是用個定時器,去不停的連接對方呢?那如果我連接上了,我就停掉定時器?如果中間網斷了或對方關機了,我應該怎么處理?
還有帶本地埠連接時,總是會有也創建的創建了套接字不能再創建,而且close后,那個socket連接狀態好象不會馬上變成false,總之問題很多啊,求大神們解個惑惑提供一個好的客戶端的封裝類,能處理這些例外和問題
uj5u.com熱心網友回復:
你發訊息的時候再去判斷是否連過,如果沒有就連接,這就行了。對方要求你“帶個固定的本地埠”的目的是什么?這個有協議檔案進行溝通討論嗎?如果不明確,那么你先不用管他。
本地埠有可能幾分鐘都釋放不了,這個很正常。你也不用管它。
uj5u.com熱心網友回復:
所謂的“帶個固定的本地的埠”是服務器監聽開發才應該有固定埠號,因為客戶端要主動發起連接請求,不知道服務器固定的埠號肯定不行。一臺pc機一天有“無數次”地發起客戶端訪問。比如隨便訪問個網頁,比如你想聽一個音樂,等等。如果系結“固定的本地埠”那么就退回到50年前了。
如果糾結什么“固定的本地埠”,那么你就另外寫個服務監聽,一個程式既有 server 監聽 A 埠又有 client 以隨機埠(作業系統默認方式)發起連接。不要搞什么“固定的本地埠”這類東西。
uj5u.com熱心網友回復:
不管不行啊,他是甲方啊。
uj5u.com熱心網友回復:
是我客戶端連接到服務端時要我的固定埠
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/234094.html
標籤:C#
