我有一个使用 Flash 二进制 (TCP) 套接字与 Java 服务器通信的 Flex 客户端。我有一个 localhost (Apache) 服务器,它提供了一个 crossdomain.xml 文件,它在我测试时是完全开放的。
我的代码在启动时成功加载了策略文件。
然后我毫不费力地将套接字连接到服务器并发送消息并获得响应。到目前为止一切都很好。
但是,当我通过同一个套接字发送第二条消息时,我会暂停大约 12 秒,然后出现沙盒违规错误:
Security Error: Error #2048: Security sandbox violation: file:///C:/apache_root/ttt1/ttt1.swf cannot load data from localhost:45455.
这与第一条消息成功通过的端口和套接字相同。
我尝试在每次发送之前重新加载策略文件,但我得到了相同的结果。
知道为什么会发生这种情况吗?我显然有一个打开的套接字。我在每次发送后刷新套接字,并且在每次读取后我也尝试这样做,但结果相同。
提前致谢
编辑:
如果我在每次调用之前重新创建套接字,我的代码就可以工作。我很难相信这是正确的,但也许我缺少一个 Socket 设置。