C# SilverLight插座问题

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

我正在尝试编写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_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对象将相应地发生变化