あるポート、例えば80に、socketを複数bindすることはできますか?
出来ません。(もし仮に複数bind出来るとしたら80番ポートに接続要求が来た時にどういう基準でどちらに割り振りされるんだろうという疑問がわきますがそれはおいておいて…。)
ただ、IPアドレスを指定せずにポート番号だけでbindする場合は複数bind出来ないということで、ネットワークカードを複数用意するとか、ネットワークカードに複数のIPアドレスを割り当てておいて、IPアドレスとポートの組を1つの単位として指定してIPアドレスが重複しないように別々にbindすれば、複数bindすることは可能です。
接続要求元側から見ても、IPアドレスAの80番ポート、IPアドレスBの80番ポートと接続先を区別して接続要求するような形となります。
また、ロードバランスなどの目的で複数のサーバへ割り振るなどの理由があるのであれば、ロードバランサとなるプロセスが代表して80番ポートをbindして、接続要求を受けたら後段に複数あるサーバへ接続を割り振って負荷を分散するような構成が必要になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/19 15:22