我正在尝试为Flash创建一个游戏服务器,但我一直试图将我的Java服务器的策略文件发送到Flash游戏。
服务器收到消息
<policy-file-request/>\0
同样将xml返回游戏也行不通。
这是获取和返回消息时的游戏服务器代码
if (message.equals("<policy-file-request/>" + '\0')) {
StringBuffer policyBuffer = new StringBuffer();
policyBuffer.append("<?xml version=\"1.0\"?><cross-domain-policy>");
policyBuffer.append("<allow-access-from domain=\"*\" to-ports=\"*\" />");
policyBuffer.append("</cross-domain-policy>");
String returnPolicy = policyBuffer.toString() + '\0';
//byte[] returnPolicyBytes = returnPolicy.getBytes();
System.out.println("Returning cross-domain-policy...\n" + returnPolicy);
//packet.socket.getOutputStream().write(returnPolicyBytes, 0, returnPolicyBytes.length);
//packet.socket.getOutputStream().flush();
packet.out.println(returnPolicy);
packet.out.flush();
return;
}
**“packet”是我的套接字客户端包装器对象,它有“out”字段,是“PrintWritter”类的对象**
我不知道为什么我的Flash游戏无法收到xml消息(总是超时), 我可以增加更多时间来请求策略文件吗? 我可以创建新的策略服务器吗?
答案 0 :(得分:0)
问题解决了,我必须创建新的策略服务器并在端口843上侦听,而不是使用游戏服务器来响应策略消息。