我有一个 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");