我正在尝试使用弹性工作者来管理我的套接字连接,因为在接收大量数据时,它会冻结 UI。
但是由于端口 843 未打开,我遇到了政策问题。所以我尝试使用其他端口加载策略,但我仍然遇到安全错误,表明应用程序正在尝试访问端口 843 上的策略文件。
这是我在工作人员内部用来加载策略的内容:
Security.loadPolicyFile("xmlsocket://myServer:8888");
我尝试使用 java 应用程序来提供策略:
public static void main(String[] args)
{
String policy = "<?xml version=\"1.0\"?><!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">";
policy += "<cross-domain-policy>";
policy += "<allow-access-from domain=\"*\" to-ports=\"*\"/>";
policy += "</cross-domain-policy>";
ServerSocket s;
try
{
s = new ServerSocket(8888);
while(true)
{
try
{
Socket cli = s.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(cli.getInputStream()));
OutputStreamWriter out = new OutputStreamWriter(cli.getOutputStream());
System.out.println(in.read());
out.write(policy+"\0");
out.flush();
cli.shutdownInput();
cli.shutdownOutput();
cli.close();
System.out.println("Policy response sent");
System.out.println(policy);
System.out.println("Waiting for new request");
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
我不知道出了什么问题,是我做错了什么吗?
提前致谢。