對於我來說,boost.asio在客戶端應用連接到服務器時並不使用基本概念 - 使用IP地址和端口。可能是我在Boost中有一點點noobie - 我接受 - 但無論如何我不明白。
所以,我有這樣的代碼來獲取客戶端連接到服務器上的本地主機:boost.asio如何發現我的服務器應用程序監聽哪個端口?
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query("localhost", "daytime");
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
tcp::resolver::iterator end;
tcp::socket socket(io_service);
boost::system::error_code error = boost::asio::error::host_not_found;
while(error && endpoint_iterator != end) {
socket.close();
socket.connect(*endpoint_iterator++, error);
}
的Windows在它的WinSock 2.0使用兩個參數 - IP和端口 - 識別服務器。
所以,qurestion是 - Asio如何發現哪個端口服務器正在監聽連接?它是否掃描所有端口?而且,如果是這樣,如果兩臺服務器同時監聽不同的端口會發生什麼?
我沒有完全理解第二個參數在查詢ctor中的含義。第一個是我想連接的IP地址,對吧?第二個是什麼意思? – chester89 2009-02-23 18:53:00