私は複数のNICを持つシステムを持っていますので、複数のIPアドレスがあり、私のローカルアドレスとリモートアドレスが必要な初期化を使用するSDKを使用しました。C++ WinSockは接続用ローカルインターフェイスを選択します
ローカルエンドポイントを自動選択します。現時点では、すべてのローカルアドレスを(GetAdaptersAddresses
経由で)列挙しています。これは、正しい一致(サブネットマスクを使用する必要があります)をチェックしています。
しかし、この仕事はルーティングテーブルによって行われているので、リモートアドレスを指定したWindows APIは私に正しいローカルエンドポイントを返しますか?
なぜ特定のローカルアドレスを指定する必要がありますか?リモートアドレスに接続する際、SDKが自動的に適切なローカルインターフェイスを選択しないのですか?アドレスを指定する必要がある場合は、 '0.0.0.0'(IPv4)または' :: '(IPv6)のワイルドカードアドレスを使用しようとしましたか?これにより、SDKが接続を試みるときにOSが最適なルートを決定できるようにする必要があります –