C# SilverLight插座问题
我正在尝试编写silverlight应用程序,socket可以连接到127.0.0.1:4505,但arg.completed事件不起作用C# SilverLight插座问题,c#,silverlight,sockets,C#,Silverlight,Sockets,我正在尝试编写silverlight应用程序,socket可以连接到127.0.0.1:4505,但arg.completed事件不起作用 arg.RemoteEndPoint = new IPEndPoint(IPAddress.Loopback, 4505); arg.UserToken = sck; arg.Completed += new EventHandler<SocketAsyncEventArgs>(arg_Comple
arg.RemoteEndPoint = new IPEndPoint(IPAddress.Loopback, 4505);
arg.UserToken = sck;
arg.Completed += new EventHandler<SocketAsyncEventArgs>(arg_Completed);
sck.ConnectAsync(arg);
void arg_Completed(object sender, SocketAsyncEventArgs e)
{
label1.Content = "Durum!";
if (e.LastOperation == SocketAsyncOperation.Connect)
{
label1.Content = "Bağlandı!";
}
}
arg.RemoteEndPoint=new-IPEndPoint(IPAddress.Loopback,4505);
arg.UserToken=sck;
arg.Completed+=新事件处理程序(arg_Completed);
连接异步(arg);
void arg_已完成(对象发送方,SocketAsyncEventArgs e)
{
标签1.Content=“Durum!”;
if(e.LastOperation==SocketAsyncOperation.Connect)
{
标签1.Content=“巴格兰!”;
}
}
您是否考虑过ConnectAsync
可能不是异步完成的。阅读其文档
您应该测试从ConnectAsync
返回的布尔值,如果其true
,则将触发已完成事件,如果未触发,则操作将同步完成,ConnectAsync
将不会触发。使用本地127.0.0.01的事实增加了同步完成的可能性
在同步连接上,传入调用的args对象将相应地发生变化。您是否考虑到
ConnectAsync
可能不是异步完成的。阅读其文档
您应该测试从ConnectAsync
返回的布尔值,如果其true
,则将触发已完成事件,如果未触发,则操作将同步完成,ConnectAsync
将不会触发。使用本地127.0.0.01的事实增加了同步完成的可能性
在同步连接上,传入调用的args对象将相应地发生变化