C# ,还是UDP的问题,关于UDP常连接问题
请教一个,UDP,是不是常连接的?
首先,假设我的PC通过UDP向设备发送命令包,是一问一答式
如下:
发送一次命令,等待接收并处理
udp.Connect(ip, Port); udp.Send(Cmd , len); byte[] receive = new byte[256]; return UdpReceiveData(ip, Port);
public static bool messageReceived = false;public static void ReceiveCallback(IAsyncResult ar){ UdpClient u = (UdpClient)((UdpState)(ar.AsyncState)).u; IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).e; Byte[] receiveBytes = u.EndReceive(ar, ref e); string receiveString = Encoding.ASCII.GetString(receiveBytes); Console.WriteLine("Received: {0}", receiveString); messageReceived = true;}public static void ReceiveMessages(){ // Receive a message and write it to the console. IPEndPoint e = new IPEndPoint(IPAddress.Any, listenPort); UdpClient u = new UdpClient(e); UdpState s = new UdpState(); s.e = e; s.u = u; Console.WriteLine("listening for messages"); u.BeginReceive(new AsyncCallback(ReceiveCallback), s); // Do some work while we wait for a message. For this example, // we'll just sleep while (!messageReceived) { Thread.Sleep(100); }}