【发布时间】:2013-11-28 16:20:14
【问题描述】:
Silverlight 的 Socket.ConnectAsync 方法从不调用 Completed 事件 - 我使用的是 127.0.0.1:4510 。我已将 IIS 配置为在端口 943 上提供 clientaccesspolicy.xml 文件。
我正在使用以下代码:
SocketAsyncEventArgs args = new SocketAsyncEventArgs();
//args.UserToken = tcp;
args.RemoteEndPoint = ep;
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnect);
mrEvent.Reset();
bool x = tcp.ConnectAsync(args);
mrEvent.WaitOne();
private void OnConnect(object sender, SocketAsyncEventArgs e)
{
isConnected = (e.SocketError == SocketError.Success);
mrEvent.Set();
}
永远不会调用 OnConnect 方法,因此代码会因 WaitOne 方法而阻塞。
注意:此代码正在后台线程上执行,因此不会因 WaitOne 调用而导致死锁。
【问题讨论】:
标签: silverlight sockets