1

我正在尝试将 Silverlight 客户端连接到套接字服务器并继续收到以下错误:

试图以访问权限禁止的方式访问套接字。

我相信我需要通过套接字服务器或 http://:80/clientaccesspolicy.xml 路径指定一个 clientaccesspolicy.xml 并设置以下选项

args.SocketClientAccessPolicyProtocol = SocketClientAccessPolicyProtocol.Http

我无法让它运行。有什么建议么?

4

2 回答 2

1

相反,Silverlight 极大地支持套接字。有一些限制,特别是我遇到并克服的限制。端口 4502-4534 是您可以连接的唯一端口,您需要通过端口 943 上连接的同一台计算机上的另一个套接字服务器提供 clientaccesspolicy.xml。

我的解决方案:在服务器上添加了一个专用的套接字服务器,以在客户端连接时公开以下 clientaccesspolicy.xml:

<?xml version="1.0" encoding="utf-8"?>
<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>
于 2010-06-18T05:25:38.050 回答
0

你不能。如果您可以规避这些限制,那么限制浏览器中的 TCP 端口号将毫无意义。

于 2010-05-26T16:33:00.107 回答