※ ChatGPTを利用し、要約された質問です(原文:ソケット通信での再接続
)
ソケット通信での再接続
このQ&Aのポイント
ソケット通信でサーバ側は立ち上げたまま、クライアント側を同じポート番号で何度も再接続できるようにしたいと考えています。
最初の起動に関してはうまくいくのですが、クライアント側を一度終了してもう一度再接続すると、バインドエラーが出ます。
どうすればいいのでしょうか。ご存じの方がいらっしゃればお答えいただきたいと思っています。
ソケット通信での再接続
ソケット通信でサーバ側は立ち上げたまま、
クライアント側を同じポート番号で
何度も再接続できるようにしたいと考えております。
http://blog.livedoor.jp/akf0/archives/51585502.html
を参考にマルチスレッドを利用してプログラムを作成してみましたが
最初の起動に関してはうまくいくのですが、
クライアント側を一度終了してもう一度再接続すると、
バインドエラーが出ます。
いろいろ試してみたのですが、
どうしてもうまくいきません。
どうすればいいのでしょうか。
ご存じの方がいらっしゃればお答えいただきたいと思っております。
よろしくお願いいたします。
環境
OS:Windows XP
開発環境:Visual Studio 2008 Express Edition
ソケット通信:winsock2
マルチスレッド:win32api
お礼
notnotさん、 ご回答ありがとうございます。 >ソケットは、[サーバIPアドレス、サーバポート番号、クライアントIPアドレス、クライアントポート番号] の組みで指定されるので、 >サーバ側のポート番号が同じでもクライアント側が異なると(普通クライアント側ポート番号はランダムに振られる)別のソケットになります。 なるほど。 別にクライアントごとに新しいポート番号をわざわざ用意してやることはないのですね。 実際作りなおしてみたところ、確かにうまく動きました! それにしても、今回のことはソケット通信では基礎中の基礎のことのようですね。 もっと勉強したいと思います。 notnotさん、 このたびは長い時間お付き合いいただき 誠にありがとうございました。