Winsockを使用してTCPサーバーアプリケーションを作成しています。私のサーバーが稼動するマシンとクライアントが稼働するマシンは、2つのNICを持っています。関係するIPアドレスは以下のとおりです。複数のNICを使用する場合のIPアドレス
- サーバーNIC 1:192.168.132.14 < - これは私がバインドしたいものがある
- サーバーNIC 2:192.168.132.15
- クライアントNIC 1:192.168.132.16
- クライアントNIC 2:192.168.132.17
質問1:私はINADDR_ANYを使用している場合、私のリスニングソケットをバインドするとき、私のサーバーアプリケーションで 、私の2つのIPアドレスのどちらが使用されますか? INADDR_ANYの代わりにinet_addr( "192.168.132.14")を使用するだけでいいと思います。
質問2: 私に接続する際にクライアントがどのIPアドレスを使用するかをクライアントはどのように制御できますか?彼はconnect()を呼び出す前に単にbind()を呼び出すでしょうか?私は彼がいずれかの住所からつながっていると見て喜んでいますか?
INADDR_ANYは、両方のNICにバインドするので、他のIPの同じポートに既にリッスンしている他のソケットがない場合は、INADDR_ANYを使用できます。 source:http ://www.cs.cmu.edu/~srini/15-441/F01.full/www/assignments/P2/htmlsim_split/node18.html – SupremeDud