単一のリスニングソケットが複数のIPにバインドされている場合、受信IPを知る方法はありません。単一のソケットを
INADDR_ANY
にバインドする代わりに、
GetAdaptersInfo()
および/または
GetAdapterAddresses()
を使用してマシンのローカルIPリストを照会することができます。各IP用に個別のリスニングソケットを作成します。指定されたソケットがどのIPにバインドされているかを知るには、
getsockname()
を使用できます。ただし、そのソケットが複数のIPではなく特定のIPにバインドされている場合に限ります。