代码之家  ›  专栏  ›  技术社区  ›  Benny

Silverlight套接字

  •  1
  • Benny  · 技术社区  · 14 年前

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

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

    我认为我需要通过socket服务器或http://80/clientaccesspolicy.xml路径指定clientaccesspolicy.xml,并设置以下选项

    args.SocketClientAccessPolicyProtocol = SocketClientAccessPolicyProtocol.Http
    

    我不能让这一切顺利进行。有什么建议吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Benny    14 年前

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

    我的解决方案: 在服务器上添加了专用的socket服务器,以便在客户端连接时公开以下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>
    
        2
  •  0
  •   AnthonyWJones    14 年前

    你不能这样做。如果你没有机会规避这些限制,那么限制浏览器中的TCP端口号就没有什么意义了。