- 締切済み
サーバソケットで待受ポートと違うポートで通信可能?
192.168.0.1のTCPサーバソケットの12345ポートで待ち受けたとします。 そこに192.168.0.2の23456ポートから接続が来た場合には「192.168.0.1:12345⇔192.168.0.2:23456」というソケットが作成され、(PG次第ですが)引き続き12345ポートで待ち受けることになるかと思います。 上記例において、23456ポートから接続が来た場合に「192.168.0.1:34567⇔192.168.0.2:23456」といった、待ち受けポートと異なるポートとのソケットを作成することはできるのでしょうか? 私はできないという認識なのですが、できると言う人がいるので確認したいと思い質問します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- bardfish
- ベストアンサー率28% (5029/17766)
同一のプログラムで、プロセス的には一つということであればできません。 待受ポートごとにプロセスを別にすれば可能だと思いますが、クライアント側からIPアドレス指定で任意のポートということであればできないでしょう。 複数のポート番号を固定するのであればApacheのように設定次第で可能なものもあります。 TCP/IP端末では自端末でポート番号ごとに待機しているプロセスは複数ありますが、それらのポートを使用しているのは異なるプログラムであることがほとんどです。 Windowsならコマンドプロンプトで「netstat」というコマンドを使用するとポート番号を含んだネットワーク接続の状態を確認できます。
- agehage
- ベストアンサー率22% (2753/12078)
出来ないと思う のですが説明文が(日本語的な意味で)難解のため質問内容が理解できていないかも。
補足
日本語すいません(苦笑) スマホで慌てて入れているもので(それだけではないかも知れませんが💦) SVが12345で待ち、CLが23456で繋ぎにきた場合に「SV側PGのソケットでSV側を12345以外のポート、CL側を23456」ができるか? ということになります CL側PGのソケットは気にしません。(が、SV側と連動しないとおかしいことになりますよね?)
補足
>待受ポートごとにプロセスを別にすれば可能だと思いますが、クライアント側からIPアドレス指定で任意のポートということであればできないでしょう。 プロセス別でできる場合のイメージが沸きません。 どのような流れとなるのでしょうか? >複数のポート番号を固定するのであればApacheのように設定次第で可能なものもあります。 こちらもイメージが沸きません、どのような流れになるのでしょうか?? レスが遅くてすいません(^_^;)が、よろしくおねがいします