あるポート、例えば80に、socketを複数bindすることはできますか?

回答1件
あなたの回答
tips
プレビュー
Q&A
解決済
1回答
3682閲覧
退会済みユーザー
総合スコア0
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。
0グッド
0クリップ
投稿2020/07/18 19:14
あるポート、例えば80に、socketを複数bindすることはできますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
あるポート、例えば80に、socketを複数bindすることはできますか?
出来ません。(もし仮に複数bind出来るとしたら80番ポートに接続要求が来た時にどういう基準でどちらに割り振りされるんだろうという疑問がわきますがそれはおいておいて…。)
ただ、IPアドレスを指定せずにポート番号だけでbindする場合は複数bind出来ないということで、ネットワークカードを複数用意するとか、ネットワークカードに複数のIPアドレスを割り当てておいて、IPアドレスとポートの組を1つの単位として指定してIPアドレスが重複しないように別々にbindすれば、複数bindすることは可能です。
接続要求元側から見ても、IPアドレスAの80番ポート、IPアドレスBの80番ポートと接続先を区別して接続要求するような形となります。
また、ロードバランスなどの目的で複数のサーバへ割り振るなどの理由があるのであれば、ロードバランサとなるプロセスが代表して80番ポートをbindして、接続要求を受けたら後段に複数あるサーバへ接続を割り振って負荷を分散するような構成が必要になります。
投稿2020/07/18 19:48
編集2020/07/18 20:27総合スコア1248
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/19 15:22