みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

サーバソケットで待受ポートと違うポートで通信可能?

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」といった、待ち受けポートと異なるポートとのソケットを作成することはできるのでしょうか?

私はできないという認識なのですが、できると言う人がいるので確認したいと思い質問します。

投稿日時 - 2018-10-17 22:23:20

QNo.9548707

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

同一のプログラムで、プロセス的には一つということであればできません。
待受ポートごとにプロセスを別にすれば可能だと思いますが、クライアント側からIPアドレス指定で任意のポートということであればできないでしょう。

複数のポート番号を固定するのであればApacheのように設定次第で可能なものもあります。

TCP/IP端末では自端末でポート番号ごとに待機しているプロセスは複数ありますが、それらのポートを使用しているのは異なるプログラムであることがほとんどです。
Windowsならコマンドプロンプトで「netstat」というコマンドを使用するとポート番号を含んだネットワーク接続の状態を確認できます。

投稿日時 - 2018-10-18 06:17:07

補足

>待受ポートごとにプロセスを別にすれば可能だと思いますが、クライアント側からIPアドレス指定で任意のポートということであればできないでしょう。

プロセス別でできる場合のイメージが沸きません。 どのような流れとなるのでしょうか?


>複数のポート番号を固定するのであればApacheのように設定次第で可能なものもあります。

こちらもイメージが沸きません、どのような流れになるのでしょうか??


レスが遅くてすいません(^_^;)が、よろしくおねがいします

投稿日時 - 2018-10-20 07:33:21

ANo.1

出来ないと思う

のですが説明文が(日本語的な意味で)難解のため質問内容が理解できていないかも。

投稿日時 - 2018-10-17 22:42:50

補足

日本語すいません(苦笑)
スマホで慌てて入れているもので(それだけではないかも知れませんが💦)

SVが12345で待ち、CLが23456で繋ぎにきた場合に「SV側PGのソケットでSV側を12345以外のポート、CL側を23456」ができるか? ということになります

CL側PGのソケットは気にしません。(が、SV側と連動しないとおかしいことになりますよね?)

投稿日時 - 2018-10-20 07:48:35

あなたにオススメの質問