C# c如何建立UDP套接字连接

C# c如何建立UDP套接字连接,c#,sockets,udp,C#,Sockets,Udp,未处理的异常:System.Net.Sockets.SocketException:引用的对象类型不支持尝试的操作 我已尝试将ip映射到同一异常 namespace ConsoleApp1 { using System.Net; using System.Net.Sockets; using static Tools; class Program { static void Main(string[] args) {

未处理的异常:System.Net.Sockets.SocketException:引用的对象类型不支持尝试的操作

我已尝试将ip映射到同一异常

namespace ConsoleApp1
{
    using System.Net;
    using System.Net.Sockets;
    using static Tools;

    class Program
    {

        static void Main(string[] args)
        {
            Send("Hello from Server");

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

            socket.Bind(GetRemote());

            socket.Listen(10);
        }
    }

    static class Tools
    {
        private static readonly EndPoint _REMOTE = new IPEndPoint(Dns.GetHostEntry(Dns.GetHostName()).AddressList[0], 11039);

        public static void Send(string message)
        {
            Console.Out.Write(message + Console.Out.NewLine);
        }

        public static EndPoint GetRemote()
        {
            return _REMOTE;
        }
    }
}

将套接字定义更改为:

Socket _socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
编辑:

按照@gpro所说的,问题出在listen上,您应该使用receivefrom:

以下是如何使用良好的udp套接字连接的示例:

如果调试代码,可以看到问题发生在套接字中。Listen10;呼叫基本上,您不应该使用UDP连接。 您可以改为使用该函数


请参见

尝试以下操作:Socket Socket=new SocketIPAddress.Any.AddressFamily,SocketType.Dgram,ProtocolType.Udp;这只改变了例外情况:使用了与请求的协议不兼容的地址