Flex:连接到WebSocket时出现错误#2048

Flex: Error #2048 when connecting to a WebSocket

本文关键字:错误 #2048 WebSocket 连接 Flex      更新时间:2023-09-26

我实现了一个简单的Flex应用程序,它试图通过WebSocket协议连接到服务器。在FlashBuilder4.6调试器中运行应用程序一切正常。所以我在我的服务器上安装了这个应用程序,过了一段时间后我得到了错误#2048#2048似乎是一个有关安全的错误。

服务器提供了这个crossdomain.xml:

更新

<?xml version="1.0" encoding="UTF-8" ?>
  <cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFileSocket.xsd">
  <allow-access-from domain="*" to-ports="*"  />
  <site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>

编辑:通过调用提供

Security.loadPolicyFile('http://myserver:8081/crossdomain.xml');

我可以在web服务器日志中看到客户端加载了它

我使用AS3WebSocket作为Flex的WebSocket实现。

这就是我设置WebSocket对象的方式:

websocket = new WebSocket(url, "*", 'dummy', 5000);
// adding several event handler ...
websocket.connect();

浏览器通过连接到服务器

http://myserver:8081

url参数包含

ws://myserver:8081/data

为什么它可以在本地使用Flash Builder而不在我的服务器上工作?我错过了什么?

<allow-access-from domain="*" to-ports="*"  />

省略"允许的跨域策略="none"位。

现在就试试吧。让它在一切正常工作时更加安全。

请检查防火墙安全[对端口的内部和外部访问]这可能是导致问题的原因之一。

请查看以下链接:-http://flexhappycoding.blogspot.in

我完成了这项工作。不知何故,我错过了我需要一个特殊的策略服务器在端口843上运行套接字策略的信息,该服务器通过TCP提供策略文件。