udpを使ってメッセージを送信するプログラムを作りました。プログラムは最初に、デフォルトのIPアドレスとポートを使用してudpソケットを初期化します。ただし、ユーザーが実行時に宛先IPアドレスとポートを変更できるようにする必要もあります。
現在、ユーザーがIPアドレス/ポートを変更した場合は現在のソケットを閉じ、ソケットを新しいIPアドレス/ポートで再初期化/バインドします。
プログラムは、初期ソケットを使用してメッセージを正常に送信できます。しかし、IPアドレス/ポートを再バインドすると、バインドが失敗することがありました。Bind()は-1の値を返します。オンラインで検索したところ、ソケットが閉じているときにTCPプロトコルに2mslのタイムアウトがあることがわかりました。それはUDPに適用されますか?
また、ユーザーが宛先IP/ポートを変更できるようにするためのより良い方法はありますか。私はビジュアルスタジオでC++を使用しています。
ありがとう。