我有一个Java程序试图启动与远程主机的ssl握手。以下代码成功用于远程主机列表。但是我遇到一个主机的问题,程序在握手步骤中挂起。它不执行异常语句也不报告任何错误。我确保端口443和https服务在远程主机上。显然,问题与远程主机有关。谁能解释一下?我该如何解决它以便我的程序继续?
以下代码是相关部分:
SSLSocketFactory factory = HttpsURLConnection.getDefaultSSLSocketFactory();
System.out.println("Creating a SSL Socket For "+hostName+" on port "+port);
SSLSocket socket=null;
socket = (SSLSocket) factory.createSocket(hostName, port);
System.out.println("Socket created");
try {
socket.startHandshake(); //handshake
} catch (IOException e1) {
System.out.println("Handshake error: "+e1.getMessage());
socket.close(); }
System.out.println("Handshaking Complete");