无法让 Java 闪存策略服务器正常工作

Posted

技术标签:

【中文标题】无法让 Java 闪存策略服务器正常工作【英文标题】:Trouble getting Java flash policy server work 【发布时间】:2013-02-19 04:56:44 【问题描述】:

我正在尝试为 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】:

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

【讨论】:

以上是关于无法让 Java 闪存策略服务器正常工作的主要内容,如果未能解决你的问题,请参考以下文章

AWS Parameter Store IAM 策略无法正常工作

USG 5530 策略路由修改后所引起的故障排除

如何在遵守严格的 script-src 内容安全策略的同时让 KendoUI 正常工作

ajax 查询中 Java + Spring 的 CORS 策略错误

DDoS攻击与防范策略

无法在 nginx 上禁用同源策略