套接字.关闭套接字

本文关键字:套接字 | 更新日期: 2023-09-27 18:07:08

我正在尝试创建一个小型udp服务器和客户端。我现在正在编写注销功能,但由于某种原因,我得到一个ObjectDisposedException。

Data msgToSend = new Data ();
msgToSend.cmdCommand = Command.Logout;
msgToSend.strName = strName;
msgToSend.strMessage = null;
byte[] b = msgToSend.ToByte ();
clientSocket.SendTo(b, 0, b.Length, SocketFlags.None, epServer);
clientSocket.Close();

服务器接收消息。然后做它应该做的,但是当我到达clientSocket.Close()时,我得到了异常。

套接字.关闭套接字

错误必须在其他地方,因为在SendTo之后调用Close是可以的,这里是MSDN的一个片段:http://msdn.microsoft.com/en-us/library/beez6ewa.aspx

 public static void SendTo4()
    {
        IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
        IPEndPoint endPoint = new IPEndPoint(hostEntry.AddressList[0], 11000);
        Socket s = new Socket(endPoint.Address.AddressFamily,
            SocketType.Dgram,
            ProtocolType.Udp);
        byte[] msg = Encoding.ASCII.GetBytes("This is a test");
        Console.WriteLine("Sending data.");
        // This call blocks. 
        s.SendTo(msg, 0, msg.Length, SocketFlags.None, endPoint);
        s.Close();
    }