マルチキャスト ソケット オプションの動作
このページでは、さまざまなソケット オプション設定の状態に基づくマルチキャスト ソケット オプションの動作について説明します。
たとえば、このページでは、IP_ADD_SOURCE_MEMBERSHIP オプションが同じネットワーク インターフェイス上の指定されたグループ/ソース ペアで既に設定されているソケットで IP_ADD_SOURCE_MEMBERSHIP ソケット オプションが設定されている場合の動作について説明します。 別のネットワーク インターフェイス上の同じグループでIP_ADD_SOURCE_MEMBERSHIPを呼び出す許可があります。
このページは、Windows ソケット マルチキャスト アプリケーションの適切な設計とトラブルシューティングに役立ちます。
初期ソケット オプション | 後続のソケット オプションの競合 | エラーが返されました | 解説 |
---|---|---|---|
IP_ADD_MEMBERSHIP |
IP_ADD_MEMBERSHIP | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイスで同じグループを持つIP_ADD_MEMBERSHIPを複数回呼び出さないでください。 |
IP_ADD_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイス上の IP_ADD_MEMBERSHIP で以前に呼び出されたグループと同じIP_ADD_SOURCE_MEMBERSHIPを呼び出さないでください。 | |
IP_DROP_SOURCE_MEMBERSHIP | WSAEINVAL | 代わりに IP_BLOCK_SOURCE を使用してください。 | |
IP_UNBLOCK_SOURCE | WSAEINVAL | 同じネットワーク インターフェイスで以前にブロックされていないグループとソースのペアのブロックを解除しようとすると、エラーが返されます。 | |
IP_DROP_MEMBERSHIP | 同じグループまたはグループ/ソース ペアに対する後続の呼び出し | WSAEINVAL | 現在包含リストに含まれていないグループまたはグループ/ソースペアでソケット オプション呼び出しを行うと (メンバーシップの削除などによる)、エラーが発生します。 |
IP_ADD_SOURCE_MEMBERSHIP |
IP_ADD_MEMBERSHIP | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイス上の IP_ADD_SOURCE_MEMBERSHIP で以前に呼び出されたグループと同じIP_ADD_MEMBERSHIPを呼び出さないでください。 |
IP_ADD_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイス上の IP_ADD_SOURCE_MEMBERSHIP で以前に呼び出された同じグループ/ソース ペアでIP_ADD_SOURCE_MEMBERSHIPを呼び出さないでください。 | |
IP_UNBLOCK_SOURCE | WSAEINVAL | 同じネットワーク インターフェイスで以前にブロックされていないグループとソースのペアのブロックを解除しようとすると、エラーが返されます。 | |
IP_DROP_SOURCE_MEMBERSHIP |
IP_UNBLOCK_SOURCE | WSAEINVAL | 同じネットワーク インターフェイスで以前にブロックされていないグループとソースのペアのブロックを解除しようとすると、エラーが返されます。 |
IP_DROP_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイスの包含リストにないグループとソースのペアを削除しようとすると、エラーが返されます。 | |
IP_BLOCK_SOURCE |
IP_BLOCK_SOURCE | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイスで既にブロックされているグループとソースのペアをブロックしようとすると、エラーが返されます。 |
IP_ADD_SOURCE_MEMBERSHIP | WSAEINVAL | 代わりに IP_UNBLOCK_SOURCE を使用してください。 | |
IP_ADD_MEMBERSHIP | WSAEINVAL | 代わりに IP_UNBLOCK_SOURCE を使用してください。 | |
IP_UNBLOCK_SOURCE | IP_UNBLOCK_SOURCE | WSAEADDRNOTAVAIL | 同じネットワーク インターフェイスのブロックリストにないグループとソースのペアのブロックを解除しようとすると、エラーが返されます。 |