關於驗證套接字端口的可訪問性和可訪問性的主題已有otherquestions。檢查C/C++中的開放端口
如何尋找一個端口在C/C++中動態偵聽?
的基本過程,我試圖完成的是:
- 客戶開始
- 客戶端找到開放的端口XYZ並監聽它。
- 客戶端通過UDP數據報向服務器發送基本的'我在這裏'消息到端口信息
- 客戶端和服務器可以通信。
我知道你可以完成這樣的事情,如果你選擇一個任意的端口號,並嘗試bind ing。如果失敗,請增加數字並重試,直到獲得成功的「綁定」。
有沒有更好的方法來做到這一點?這似乎有點哈克。
在消息內發送端口號會破壞NAT防火牆後面的客戶端,所以不要這樣做。只需讓服務器使用消息到達的端口即可。 – 2010-06-16 20:22:25
這是哪種操作系統? – 2010-06-16 20:29:18
@David Windows現在,但希望它最終也可以移植到Linux。 – 2010-06-16 20:31:22