WinSockコントロールで通信切断後同一ポートを使用するには?


TAKA  2003-04-02 23:35:30  No: 77544

WinSockコントロールでクライアント側からCloseを
かけた後に、切断前のローカルポートを指定して
再びconnectをすると
「アドレスが使用されてます。」とエラーが帰ってきます。

ポート番号を変えれば接続できるのですが、
クライアント、サーバー共にポート番号を
常に固定にしたいのです。

Close処理のときはCloseメソッドを呼び出している
だけなのですが、Close,Connect時にほかに
やらなければいけない処理があるのでしょうか。

すみませんが、ご教授お願いいたします。


あき☆彡  2003-04-03 03:59:23  No: 77545

LocalPort プロパティに 0 を設定する必要があります。
  
http://support.microsoft.com/default.aspx?scid=kb;ja;409932

ここの Connect メソッドの部分を読んで下さい。


TAKA  2003-04-03 06:16:55  No: 77546

あき☆彡 様、ありがとうございます。
  
>http://support.microsoft.com/default.aspx?scid=kb;ja;409932
>↑
>ここの Connect メソッドの部分を読んで下さい。

ここの説明によると同一ポートで接続を行うときには、ある程度時間を
置かないと接続できないそうです。
原因はわかりましたので、他の方法があるか考えてみようと思います。


Loreley  2003-04-03 14:23:30  No: 77547

どうしてもWinsockコントロールでローカルポートはそこでというのであれば
on local error Resume Nextと
winsock.stateで確認しながら開くまで
while文やTimerコントロールで、という手もありますが

余談ですがWinsockコントロールは空けたり閉じたりを繰り返すと
メモリリークを起こします。(多分仕様(笑))
そこら辺も気をつけてくださいね。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加