我正在使用Winsock編寫TCP服務器應用程序。我的服務器運行的機器和運行客戶機的機器都有2個網卡。涉及的IP地址是:涉及多個NIC時的IP地址
- 服務器NIC 1:192.168.132.14 < - 這是一個我要綁定
- 服務器NIC 2:192.168.132.15
- 客戶端網卡1:192.168.132.16
- 客戶端網卡2:192.168.132.17
問題1: 在我的服務器應用程序,如果我結合我的監聽套接字,當使用INADDR_ANY其中我的兩個IP地址將被使用?假設沒有任何說明,我應該正確地使用inet_addr(「192.168.132.14」)來代替INADDR_ANY嗎?
問題2: 客戶端如何控制連接到我時使用的IP地址?他會在調用connect()之前簡單地調用bind()嗎?我是否有責任將他視爲從任一地址連接(不知道哪一個)?
INADDR_ANY將綁定到兩個NIC所以只要你沒有在已經聽其他套接字(或會盡量聽)到另一個IP相同的端口,你可以使用INADDR_ANY 出處:http ://www.cs.cmu.edu/~srini/15-441/F01.full/www/assignments/P2/htmlsim_split/node18.html – SupremeDud 2012-03-15 19:38:15