Socketクラスのドキュメントはこちらです。
私のコードatmでは、次のようなコンストラクターを使用しています。
Socket m_Socket = new Socket(m_Address, m_Port);
m_Address
InetAddressでm_Port
あり、intです。
この行が実行され、ソケットを作成できない場合、アプリはIOExceptionをスローする前に3秒ほど待機します。
InetAddress
、、および別の両方をタイムアウトint
に使用するコンストラクターがないことがわかります。今のように3秒ではなく250ms待つ必要があります。これは、ソケットにタイムアウトを設定する必要があることを意味しますが、これを行う方法が見つかりません。メソッドがあることは知っていますが、クラスのインスタンスで呼び出す必要があります。これを行うことで新しいSocketをインスタンス化できますが、InetAddressとポートを設定する必要があり、Socketクラスにはこれを行うためのメソッドがないようです(コンストラクターを除く)。int
setSoTimeout(timeout)
Socket
m_Socket = new Socket();
実際にソケットを設定しようとする前にタイムアウトを設定するにはどうすればよいですか?