1

Python でソケットにバインドする場合、ホストの値は '' にすることができます。これは、すべてのインターフェイスを意味します。または、'192.168.1.5' などの実際の IP アドレスを含む文字列にすることもできます。

そのため、すべてまたは 1 つのインターフェイスにバインドできます。

3 つのインターフェースがあり、そのうちの 2 つだけにバインドしたい場合はどうでしょうか。

これは可能ですか?

ホストにどのような値を与えるか、リスト、タプル、コンマ区切りの文字列にうんざりしています。

4

1 に答える 1

1

残念ながら、socketモジュールを使用してインターフェイスのサブセットにバインドすることはできません。このモジュールは BSD ソケット インターフェイスへのアクセスを提供し、バインド中に単一のアドレスのみを指定できるようにします。この単一のアドレスに対してINADDR_ANY、すべてのインターフェイスへのバインドを可能にする C の特別な値が存在します (Python は空の文字列をこの値に変換します)。

モジュールを使用してすべてではなく複数のインターフェイスにバインドする場合は、socket複数のソケットを作成する必要があります。

于 2013-01-09T18:25:00.297 に答える