无法使Java Flash策略服务器正常工作

时间:2013-02-19 04:56:44

标签: java file policy

我正在尝试为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消息(总是超时), 我可以增加更多时间来请求策略文件吗? 我可以创建新的策略服务器吗?

1 个答案:

答案 0 :(得分:0)

问题解决了,我必须创建新的策略服务器并在端口843上侦听,而不是使用游戏服务器来响应策略消息。