Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java小程序无法通过套接字连接到主机_Java_Sockets_Applet_Ip - Fatal编程技术网

Java小程序无法通过套接字连接到主机

Java小程序无法通过套接字连接到主机,java,sockets,applet,ip,Java,Sockets,Applet,Ip,我有一个有趣的困境。。。我有一个java小程序,它将通过调用getCodeBase.getHost通过套接字连接到它的主机java应用程序。我有一个使用IIS设置的web服务器和一个不使用ip的动态dns设置,当我通过外部ip打开小程序时,它将在端口44444上创建到主机的套接字连接,但使用ip matrix159.no-ip.biz(动态主机名)会导致套接字无法连接。对不起,如果这个问题的措辞不正确,但我已经搜索了,找不到任何答案 private void submitButtonActio

我有一个有趣的困境。。。我有一个java小程序,它将通过调用getCodeBase.getHost通过套接字连接到它的主机java应用程序。我有一个使用IIS设置的web服务器和一个不使用ip的动态dns设置,当我通过外部ip打开小程序时,它将在端口44444上创建到主机的套接字连接,但使用ip matrix159.no-ip.biz(动态主机名)会导致套接字无法连接。对不起,如果这个问题的措辞不正确,但我已经搜索了,找不到任何答案

 private void submitButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    try 
    {

        System.out.println(getCodeBase().toString() + " " + "This is codebase");
        String host = getCodeBase().getHost();
        System.out.println(host);
        socket = new Socket(getCodeBase().getHost(), 44444);
        System.out.println("Socket opened");
        if(host == null)System.out.println("Host was null");
        outputStream = new DataOutputStream(socket.getOutputStream());
        outputStream.writeUTF(buttonGroup1.getSelection().getActionCommand());
    }
    catch(UnknownHostException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch (IOException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
}
这是它产生的错误

Exception in thread "Thread-27" java.security.AccessControlException: access denied (java.net.SocketPermission 50.124.10.35:44444 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:376)
at java.security.AccessController.checkPermission(AccessController.java:549)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at sun.plugin2.applet.Applet2SecurityManager.checkPermission(Applet2SecurityManager.java:236)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Applet2SecurityManager.java:568)
at java.net.Socket.connect(Socket.java:522)
at java.net.Socket.connect(Socket.java:476)
at java.net.Socket.<init>(Socket.java:373)
at java.net.Socket.<init>(Socket.java:187)
at myapplet.Main$3.run(Main.java:185)
at java.lang.Thread.run(Thread.java:695)

提供错误消息。我提供了我知道小程序被卡住的代码,因为当我单击submitButton时,它将冻结并没有响应,小程序的Java控制台没有提供任何错误,因为它在尝试连接时处于冻结状态。首先,您不应该在AWT事件线程中执行阻塞操作,例如网络操作。这就是冻结的原因。修复该问题,然后发布您得到的异常。异常将在超时后发生。耐心等待10分钟左右:好的,我会的,我应该用普通的线还是秋千工人?