我在AIR框架中使用ServerSocket
类设置了服务器,客户端(.swf)通过localhost连接正常,但是当我将完成的服务器应用程序上传到远程环境时完全拒绝连接。政策文件甚至无法加载。
我已将策略文件端口(843)和应用程序主ServerSocket
的端口(6644)添加到防火墙设置,并允许它们的入站和出站连接。
我已经检查过以确保我更改了闪存连接到我服务器的公共IP的IP,并且防火墙设置到位后,我不明白为什么它不能连接。
这是我第一次使用AIR框架中的套接字,但我无法解决为什么如果它在localhost连接上正常工作(在我的网络上运行)它将无法工作的原因笔记本电脑),特别是在通过防火墙设置允许端口之后。
这也是服务器发送的策略文件,应该明确允许访问服务器,只要我知道(在本地工作,所以不应该有任何不同):
public var policy:String = '<?xml version="1.0"?><cross-domain-policy>' +
'<site-control permitted-cross-domain-policies="master-only"/>' +
'<allow-access-from domain="*" to-ports="6644" />' +
'</cross-domain-policy>\x00';
任何人都有任何关于它为什么不起作用的想法?
securityErrorHandler: Error #2048: Security sandbox violation:
答案 0 :(得分:0)
原来问题是资源。增加了几个GB RAM和额外的磁盘空间,它可以完美运行。知道它对实际编程来说不是问题。
答案 1 :(得分:-1)
该错误与&#34;安全沙箱&#34;相关。违反。要修复它,您可以添加:
conn.allowDomain('*');