使用websockets原型从silverlight客户端发送消息时出现问题




我需要使用websocket来实现silverlight客户端和服务器之间的双向通信。我可以连接/断开与服务器的连接,并且OnOpen& 客户端和服务器中的OnClose事件都很好地激发了,但我在向服务器发送消息时遇到了问题:
当我向服务器发送消息时,我在客户端没有收到任何错误,因为我在服务器上的服务的OnMessage操作从未调用过(从客户端发送的消息没有任何问题,但服务器从未收到!(
你可以在这里得到我的示例代码
感谢

策略文件仅存在于服务器端。

请看一下:MSDN

您可以通过HTTP或策略服务器(在端口943上(传递策略文件。

若要使用HTTP检索套接字策略文件,应用程序应在传递给socket::ConnectAsync方法的System.Net.socket::SocketAsyncEventArgs实例上将SocketAsync EventArgs:SocketClientAccessPolicyProtocol属性设置为HTTP

祝好运

"使用的另一个限制sockets类是网络的目标端口范围允许应用程序连接到必须在4502-4534的范围内。这些是唯一的目标端口允许来自的连接Silverlight应用程序使用插座。">

来源:
http://msdn.microsoft.com/en-us/library/cc645032%28v=VS.95%29.aspx

拥有策略文件只会使使用上述端口范围。如果没有策略文件,它将无法工作根本没有这两个(还有更多(限制不适用于受信任的应用程序

http://social.msdn.microsoft.com/Forums/en/silverlightdeveloper/thread/b4f7120d-71d9-4132-9c31-b456803cd32f


更新

尝试将您的策略文件更改为:

<access-policy>
<cross-domain-access>
<policy>
  <allow-from http-request-headers="*">
    <domain uri="*" />
  </allow-from>
  <grant-to>
    <socket-resource port="4502-4534" protocol="tcp" />
  </grant-to>
</policy>
</cross-domain-access>
</access-policy>

相关内容

  • 没有找到相关文章

最新更新