0

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

4

1 回答 1

0

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

于 2013-02-22T06:57:24.477 回答