Flash / AS2套接字策略文件问题

时间:2010-02-22 19:29:07

标签: file actionscript sockets policy

我一直在尝试在我的Flash客户端和Java服务器之间建立连接几天,但是套接字策略服务器出现问题。

我在线阅读了很多信息(包括关于如何创建一个的Adobe指南),但除了在CS3中的“测试电影”选项之外,我仍然无法连接它。

客户端和服务器的源代码很长,因此我将尝试解释它们的用途。

好的,基本上我在我的java服务器上收到了<policy-file-request/>的请求,然后我发送了“<cross-domain-policy><allow-access-from domain='*' to-ports='*' /></cross-domain-policy>”(尝试了很多其他的xml文件),后跟一个空字符(但保持连接打开) ,试过关闭它 - 仍然没有工作)。但是,似乎闪存客户端在放弃之前仍然会继续尝试连接大约10秒钟。

我还在java服务器内部设置了一个迷你Web服务器,当发出http样式请求时,它在同一个端口上提供一个网页,这似乎有用,所以它不能是一个端口转发问题。

我也尝试过Adobe示例端口843服务器,但仍无效。在firefox / safari中访问html文件时,我可以手动批准连接,并且可以正常工作。

我读到套接字连接不需要crossdomain.xml,但是已经进行了实验。

你认为我在哪里可能会出错?

1 个答案:

答案 0 :(得分:0)

我不使用java,但我可能会建议两个起点。

首先,检查域和端口配置上替换双cotes(“)是否存在问题。即:在VB中,我们可能会使用chr(34)。看看:

sock.SendData "<cross-domain-policy><allow-access-from domain=" & Chr(34) & "*" & Chr(34) & "to-ports=" & Chr(34) & "50505" & Chr(34) & "/></cross-domain-policy>" & Chr(0)

其次,跟踪我的应用程序我发现Flash播放器“断开连接”并在收到其策略文件的答案后重新连接。所以序列如下:

服务器接收带有msg“policy-file-request /”的请求 服务器响应策略文件 然后......它断开连接(!)(?) 然后它再次连接(自动)

诀窍是在VB中我们应该在sock_Close()事件上关闭套接字,例如:

Private Sub sock_Close()
sock.Close                          ' has to be called
sock.Listen                         ' listen again

End Sub

希望它有所帮助。

相关问题