【发布时间】:2011-09-30 19:10:32
【问题描述】:
我一直在尝试创建 C# IRC 客户端,一切正常,当连接到某些网络时,它会引发如下套接字策略异常:
System.Security.SecurityException:无法连接,因为无效 跨域策略位于 System.Net.Sockets.Socket.Connect_internal(IntPtr 袜子, System.Net.SocketAddress sa,System.Int32& 错误,布尔值 requireSocketPolicyFile) [0x00000] in :0 at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in :0 at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] 在 :0 处 System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] in :0 at system.Net.Sockets.TcpClient.Connect (System.Net.IPAddress[] ipAddresses,Int32 端口)[0x00000] in :0
这是我用来连接的代码:
//connect the client
client = new TcpClient(serverAddress, serverPort);
当它尝试连接到大多数 IRC 服务器时,它会抛出该异常,但对于某些它不会,因为您可能意识到我需要客户端连接到任何允许它的 irc 服务器。
我曾尝试在 Google 上搜索解决方案,但得到的只是 Silverlight 异常,我没有使用 Silverlight。我已经尝试解决这个问题一周了,但没有运气,我已经编程了 8 年,而且我非常擅长解决问题,但这超出了我的能力范围,因此不胜感激。
问候,艾米。
【问题讨论】:
-
Server如何提供连接?您是否使用了可能不允许访问网络资源的 AppDomains?
-
您的代码在哪里运行?这是桌面应用程序(控制台/WinForms/WPF)、浏览器内富客户端应用程序(Silverlight)、服务器应用程序(ASP.NET/其他)吗?
-
我已经说过它不是 Silverlight,它在桌面上使用 C# .NET,但它也可以在浏览器中运行,不过我在桌面和浏览器上都遇到了同样的问题。和关于服务器的 idk,因为我没有制作服务器,我只连接到它。我知道协议,所以我可以让客户端适当地响应我所做的消息。
标签: c# .net sockets exception policy