SSLSocket を使用してサーバーに接続するクライアントがあります。次に、OOS を作成してみますObjectOutputStream oos = new ObjectOutputStream(sslsocket.getOutputStream());
サーバー側ですべてが正常に機能している場合、これで問題ありません。ただし、ObjectOutputStream を作成しようとするクライアント側に何かを配置したいと思いますが、60 秒以内に発生しなかった場合は、エラーをログに記録して処理を続行します。このためのタイムアウトオプションはありません。これを行う方法の例はありますか?
SSLSocket sslsocket;
try {
System.setProperty("javax.net.ssl.trustStore", <myKeystore>);
System.setProperty("javax.net.ssl.trustStorePassword", <myPW>);
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
sslsocket = (SSLSocket) sslsocketfactory.createSocket(InetAddress.getLocalHost(), <myPort>);
} catch (Throwable e) {
logger.logError(e.getMessage());
return null;
}
// This is where it hangs forever
ObjectOutputStream oos = new ObjectOutputStream(sslsocket.getOutputStream());
oos.flush(); // never gets here
oos.writeObject(orders);
ObjectInputStream ois = new ObjectInputStream(sslsocket.getInputStream());