fie*_*hao 0 c# sockets unity-game-engine
我遇到一个非常奇怪的问题:当我在unity3d webplayer中使用Socket.Connect()时,会遇到"System.Security.SecurityException:无法连接,因为没有找到有效的跨域策略",但是Socket.BeginConnect()没问题,那有什么区别?
小智 6
Socket.Connect:http://msdn.microsoft.com/en-us/library/ych8bz3x.aspx
Socket.BeginConnect http://msdn.microsoft.com/en-us/library/6aeby4wt%28VS.80%29.aspx
由于文档状态Connect是同步的,这意味着它将阻止当前线程,直到建立连接.
BeginConnect方法是异步的,这意味着它将在不同的线程中进行连接,并在连接完成时通知回来.它不会阻止您当前的调用线程.您需要致电EndConnect.
Socket.ConnectAsync提供SocketAsyncEventArgs作为参数,与BeginConnect提供的3个参数相比,它包含更多信息.另外我知道ConnectAsync比BeginConnect晚推出并解决了与超时相关的一些问题(现在不记得这个讨论的来源).在可能的情况下首选ConnectAsync(尽管它需要min .NET 2.0 SP1).
Silverlight中不支持BeginConnect方法(仅支持ConnectAsync),因此如果您打算开发客户端Silverlight应用程序,这可能是另一个问题.
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |