如何使用IPv6 IP地址创建SSL套接字?

时间:2015-03-18 12:37:41

标签: java sockets ssl

在客户端中,我获取UDP多播(IPv6)后服务器的地址。 所以,我有服务器的IPv6地址,我想创建一个链接到它的套接字:

下面你会看到我的代码摘录,希望能帮助你理解我得到的异常。

当我想创建SSLSocket时出现错误:

client.java

try{
        System.out.println("IP: \n"+this.IP_ADDRESS);
        this.sslSocketFactory = this.sslContext.getSocketFactory();
        this.sslSocket = (SSLSocket) this.sslSocketFactory.createSocket(this.IP_ADDRESS, this.CLIENT_PORT);
    } 

catch (java.rmi.UnknownHostException e){
        System.err.println("Don't know about host: " + this.IP_ADDRESS);
    } 

catch (IOException e) {
        System.err.println("Couldn't get I/O for " + "the connection to: " + this.IP_ADDRESS);
    }

输出

IP: 
/fda8:6c3:ce53:a890:0:0:0:1
Couldn't get I/O for the connection to: /fda8:6c3:ce53:a890:0:0:0:1

我想知道是否存在异常,因为IP格式(地址前面的“/”)或者是因为它是IPv6地址。

IP_ADDRESS的类型为InetAddress

编辑1

以下是我获取IP地址的方法: 我将UDP数据报发送到服务器,然后检查它的响应:

                // Check if message is correct
                String message = new String(receivePacket.getData()).trim();
                System.out.println(message);
                if (message.equals("SERVER_POSITIVE_RESPONSE")){
                    this.IP_ADDRESS = receivePacket.getAddress();
                    break;
                }

编辑2 我有e.printStackTrace,这就是我得到的

java.net.ConnectException: Connection refused: connect

0 个答案:

没有答案