C#使用UTP

时间:2017-02-22 16:48:11

标签: c# sockets udp

我正在尝试开发一个C#UTP服务器,以便发送字符串sList的列表。这是由另一个线程不断填补的。我所谓的软件行为是让网络上的客户端发送每个信息。

这里的方法:

    internal static void MyUDPSocket()
    {
        byte[] data = new byte[1024];
        IPEndPoint ip = new IPEndPoint(IPAddress.Any, 9050);

        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

        socket.Bind(ip);

        IPEndPoint sender = new IPEndPoint(IPAddress.Any, 9050);
        EndPoint Remote = (EndPoint)(sender);

        while (true)
        {
            if (sList.Count > 0)
            {
                try
                {
                    data = Encoding.ASCII.GetBytes(sList[0]);
                    socket.SendTo(data, data.Length, SocketFlags.None, Remote);
                    sList.RemoveAt(0);
                }
                catch (FormatException e) { }
                catch (System.ArgumentNullException en) { }

            }
        }
    }

无论如何,当我启动软件时,C#会在socket.SendTo(data, data.Length, SocketFlags.None, Remote)上返回一个Exception(System.Net.Sockets.SocketException),它说上下文中没有必需的地址。

0 个答案:

没有答案