0
我正在使用asio在C++中重寫python扭曲的服務器。我已經建立了下面的例子從asio tcp客戶端應用程序的端口規範
http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/tutorial.html:
Daytime.1 - 同步TCP daytime客戶
Daytime.3 - 異步TCP daytime服務器
和他們似乎正常。然而,令我費解的是,當我創建了扭曲的服務器時,它和客戶端都需要明確指定IP地址和端口號。我在這裏的體驗略有不同:
- 在客戶端應用程序中,不需要規定端口號。我可以通過僅使用127.0.0.1作爲命令行參數成功連接到服務器。
- 此外,只要第一個字節是127(例如127.1.2.3連接),我似乎可以連接到具有此IP地址的任何合法變體的同一臺服務器。
- 客戶端代碼中有一個字面意思,指定使用我提供的操作系統提供的「白天」TCP服務進行連接。但是,在服務器代碼中沒有提及這一點。爲什麼我必須指定要連接的特定服務?我也懷疑這項服務可能與第1點和第2點的行爲有關。
現在我知道服務器有一個接受者套接字監聽,它只在接收到請求後才建立連接,但我想要一些更多細節在這裏。
謝謝。所以我可以刪除白天文字並明確連接? 另外,你有關於第2點的任何想法? –
AFAIK 127.x.x.x是一個環回,默認情況下該地址與所有接口綁定。 – Arunmu