C# 从c响应闪存的策略文件请求#

C# 从c响应闪存的策略文件请求#,c#,sockets,actionscript,cross-domain-policy,C#,Sockets,Actionscript,Cross Domain Policy,我用c#开发了一个服务器应用程序,用FlashActionScript3.0开发了一个客户端应用程序。Flash套接字在从浏览器调用时请求策略文件并显示消息 <policy-file-request/> 我很确定这是有效的,但我真的不知道发生了什么,开始不起作用。当flash客户端从服务器接收到这条消息时,连接成功,一切正常。但是现在flash客户端等待20秒(flash套接字超时)并抛出安全异常 [SecurityErrorEvent type="securityError" b

我用c#开发了一个服务器应用程序,用FlashActionScript3.0开发了一个客户端应用程序。Flash套接字在从浏览器调用时请求策略文件并显示消息

<policy-file-request/>
我很确定这是有效的,但我真的不知道发生了什么,开始不起作用。当flash客户端从服务器接收到这条消息时,连接成功,一切正常。但是现在flash客户端等待20秒(flash套接字超时)并抛出安全异常

[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
我被卡住了,无法前进。我正在收听端口963,服务器机器的完全限定名称是“mypc.domain.local”,它可以通过我的网络访问。这台机器上还运行着一个IIS,flash应用程序托管在这里

http://mypc.domain.local:90/page.html 
就是这样,我调用我的flash应用程序

mypc.domain.local:963
正在运行的服务器的地址。我也在这台机器上工作。我试着调用页面
http://localhost:90/page.html
http://127.0.0.1:90/page.html
并尝试以localhost:963或127.0.0.1:963连接到服务器。每个组合的结果相同

这里怎么了?是什么改变导致我的工作代码崩溃


谢谢。

如果没有更多的代码,很难说清楚,但是根据您所展示的内容,当该请求传入时,您会使用策略文件的内容进行响应,而该文件不是实际有效的HTTP响应。我猜20秒的超时可能是它仍在等待HTTP头


如果可能,尝试使用BCL中已有的HTTP类,而不是“手动”执行HTTP,但如果您必须自己执行套接字操作,则在调试期间使用类似Fiddler的工具,因为它非常适合识别违反HTTP协议的行为。

否,所有防火墙都已关闭,直接从swf连接成功。由于跨域,只有通过web浏览器的连接未建立。由于您使用的是http,我会尝试使用fiddler帮助查看消息的实际内容。Wiw,很可能这是相关的:fiddler是个好主意,我会尝试告诉您结果。您的意思是,策略文件请求正在等待http响应的响应?
http://mypc.domain.local:90/page.html 
mypc.domain.local:963