2
我有以下連接設置,這工作正常。這是偵聽(在一個空閒端口)傳入消息的更大代碼的一部分。我試圖做的是發佈uri,以便其他客戶端可以連接到此。但是我找不出一個方法讓endpoint.address()顯示爲所用接口上的實際IP地址,而不是「localhost」。有任何想法嗎?獲取公共IP地址而不是本地主機(升壓阿西歐)
tcp::resolver::query query(address, "");
tcp:: endpoint endpoint = *resolver.resolve(query);
acc.open(endp.protocol());
acc.set_option(reuse_address(true));
acc.bind(endp);
acc.listen();
tcp::endpoint endpoint = acc.local_endpoint() ;
string uri = "tcp://" + endpoint.address().to_string() + ":" + lexical_cast<string>(endpoint.port()) ;
你的意思是你的PC或路由器的公網地址的LAN地址? – Wutz
你的WAN訪問配置是什麼樣的? – bobah
我無法對如何配置WAN訪問進行假設,這必須非常一般。我需要找到一種方法來推斷公共地址,通過這個地址,其他主機可以將數據包發送給這個接受者 – user1018513