做了一个tcp的socket连接的程序,写成应用程序可以运行,在applet里面调用本机上也可以,但在局域网里试就不行,java控制台显示错误:
java.security.AccessControlException: access denied (java.net.SocketPermission 172.16.14.219:4747 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at ChatClient.<init>(ChatClient.java:14)
at ClientApplet.init(ClientApplet.java:46)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)代码就是最普通的socket=new Socket("172.16.14.219",4747);

解决方案 »

  1.   

    applet的权限问题, 去查查applet数字签名的东西吧, 还有security的文档.
      

  2.   

    那要怎么做呢,在程序中编程?还是要用户在windows下设置?
      

  3.   

    要用户设置的我见过这个问题
    Internet 选项 - 安全 - 本地intranet - 自定义级别 - JAVA 自定义设置 - 在打开的窗口中编辑权限,全部启用一般都好用的
      

  4.   

    silentspring(Crush_Japan) :按照你说的设置了,还是不行
    控制台提示
    java.lang.UnsupportedClassVersionError: ClientApplet (Unsupported major.minor version 49.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadCode(Unknown Source)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
      

  5.   

    itjourney(IT之旅):什么意思?能说详细点吗
      

  6.   

    你编写用的JDK和浏览器所用的JRE不是同一个版本,所以导致UnsupportedClassVersionError