台灣最大程式設計社群網站
線上人數
783
 
會員總數:245895
討論主題:189493
歡迎您免費加入會員
討論區列表 >> C# >> Socket 的Client端能否指定自己的Port?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Socket 的Client端能否指定自己的Port?
價值 : 50 QP  點閱數:336 回應數:5
樓主

mar234964
門外漢
0 1
14 3
發送站內信

如題,


以上是Client的部分程式碼,這樣可以連到10.99.99.99 的 5001 Port,

想問的是我能否指定紅字部分的socketSend.LocalEndPoint的值?
目前看起來連綫后socketSend.LocalEndPoint的值是隨機的,
我希望用Client的5001 Port連到Server的5001 Port, 這樣可行麽?





搜尋相關Tags的文章: [ Socket ] , [ Port ] , [ Server ] , [ Client ] ,
本篇文章發表於2020-02-11 10:28
1樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
參考 這篇
主要就是建立IPEndPoint指定Local的IP跟Port
再用Socket的Bind()方法連接設定好的IPEndPoint
本篇文章回覆於2020-02-12 09:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

mar234964
檢舉此回應
這篇的内容似乎是提到指定服務器的Port而已吧?
本篇文章回覆於2020-02-12 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

mar234964
檢舉此回應


服務器按鈕程式碼


客戶端按鈕程式碼



上了完整程式碼,目前的結果是服務器指定監聽 50000 Port,客戶端也能連到服務器的的 50000 Port ,但客戶端自己的Port是隨機的。
請問客戶端能指定用哪個Port 連到服務器的的50000 Port嗎?





本篇文章回覆於2020-02-12 11:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

老頑童
捐贈 VP 給 老頑童 檢舉此回應
客戶端Connect前也先Bind()本地端的IPEndPoint
本篇文章回覆於2020-02-12 11:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

mar234964
檢舉此回應
感謝,可以了。
之前也這麽試過,但用的是虛擬機當客戶端,Port還是隨機的,剛用另一台電腦當客戶端就正常了。
本篇文章回覆於2020-02-12 14:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.