2010-08-12 68 views
0

我想让Silverlight通过套接字与客户机上运行的第三方应用程序进行通信。 我可以得到它的工作,如果我的应用程序rus浏览器与提升的权限。 在没有提升权限的浏览器中,它无法连接。 所以我认为我的问题是与SocketClientAccessPolicyProtocol和配置我的clientaccesspolicy.xml。 我必须在本地连接30500端口。 我clientaccesspolicy.xml文件:Silverlight 4套接字到本地程序

<?xml version="1.0" encoding ="utf-8"?> 
<access-policy> 
<cross-domain-access> 
    <policy> 
     <allow-from http-methods="*"> 
     <domain uri="*" /> 
     <domain uri="http://localhost:10873/" /> 
     <domain uri="http://localhost:49505/" /> 
     <domain uri="http://localhost:30500/" /> 
     <domain uri="127.0.0.1:30500" /> 
     <domain uri="127.0.0.1" /> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true" /> 
     <socket-resource port="30500" protocol="tcp" /> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

任何想法?

回答

1

Silverlight的限制TCP套接字连接的端口范围4502 - 4534

0

这是我的理解是Silverlight 4中应该让你在使用的SocketClientAccessPolicyProtocol.xml文件过程。 类似于 http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/03/20/silverlight-4-rc-socket-security-changes.aspx

+0

我更改了第三方系统侦听的端口,并且我的silverlight工作。所以有限的端口是问题。并非所有的第三方软件都会允许你这样做,所以我认为这种行为是一个缺陷。 – Andy 2010-08-24 07:00:06