gpt4 book ai didi

java - 获取 Java 套接字连接

转载 作者:行者123 更新时间:2023-12-01 19:00:55 25 4
gpt4 key购买 nike

我在更新 Java 后开始出现问题(我认为)当我尝试连接到我的 Cpp 服务器(似乎工作正常)时,我收到一条错误消息,我找不到任何帮助。

以下是错误消息

java.security.AccessControlException: access denied
("java.net.SocketPermission" "127.0.0.1:4000" "connect,resolve")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
at java.security.AccessController.checkPermission(AccessController.java:555)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1051)
at java.net.Socket.connect(Socket.java:574)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at jclientbare.init(jclientbare.java:27)
at sun.applet.AppletPanel.run(AppletPanel.java:434)
at java.lang.Thread.run(Thread.java:722)

Java源代码如下

import java.awt.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import javax.swing.*;

public class jclientbare extends Applet {


static BufferedReader in;
static PrintStream out;

public void init() {

try {
System.out.println("Test NN");
Socket socket = new Socket( "localhost", 4000 );
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintStream( socket.getOutputStream(), true);
}

catch (UnknownHostException e) {

JOptionPane.showMessageDialog(null, "Unknown Host..");
System.out.println("Unknown host: kq6py");

} catch (IOException e) {

JOptionPane.showMessageDialog(null, "NO IO.");
System.out.println("No I/O");
}
}

}

Java 小程序不会注册连接,它只是用错误消息进行轰炸。任何帮助,将不胜感激!我认为这可能是 java.policy 的问题,但我不知道如何修复它。

呃,你如何进行堆栈跟踪?

最佳答案

尝试授予权限:

grant 
{
permission java.net.SocketPermission
"127.0.0.1:4000", "connect,resolve";
};

有关授予权限的详细信息,您可以查看以下链接: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html

本文很好地解释了策略文件的位置以及如何使用特定策略文件运行应用程序。

以下链接详细说明了在哪里可以找到策略文件以及策略文件的加载顺序: http://download.java.net/jdk8/docs/technotes/guides/security/PolicyFiles.html#DefaultLocs

据我了解,如果您在 Windows 中,则可以将文件“.java.policy”放在“我的文档”文件夹中。当您在浏览器中运行小程序时,它会找到此策略文件作为用户策略文件。

关于java - 获取 Java 套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com