Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die C# UDP-Toolklasse zum Senden und Empfangen von Anforderungen

Einführung in die C# UDP-Toolklasse zum Senden und Empfangen von Anforderungen

黄舟
黄舟Original
2017-02-28 11:35:011284Durchsuche

Initialisierung:

ListeningPort = int.Parse(ConfigurationManager.AppSettings["ListeningPort"]);
SendingPort = int.Parse(ConfigurationManager.AppSettings["SendingPort"]);
SendingIp = ConfigurationManager.AppSettings["SendingIp"];

Anhören:

public static void Listen()
        {
            Task.Run(() =>
            {
                var done = false;
                var listener = new UdpClient(ListeningPort);
                var groupEP = new IPEndPoint(IPAddress.Any, ListeningPort);
                string received_data;
                byte[] receive_byte_array;
                try
                {
                    _log.Error("############Service started###########");
                    while (true)
                    {
                        receive_byte_array = listener.Receive(ref groupEP);
                        Console.WriteLine("Received a broadcast from {0}", groupEP.ToString());
                        received_data = Encoding.UTF8.GetString(receive_byte_array, 0, receive_byte_array.Length);


                        ParseCommand(received_data);
                    }
                }
                catch (Exception e)
                {
                    _log.Error(e);
                    Console.WriteLine(e.ToString());
                }


                _log.Error("############Service stopped###########");
            });
        }

Senden:

public static void SendCommand(string xmlCmd)
        {
            try
            {
                var sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                var sending_end_point = new IPEndPoint(IPAddress.Parse(SendingIp), SendingPort);
                var send_buffer = Encoding.UTF8.GetBytes(xmlCmd);
                sending_socket.SendTo(send_buffer, sending_end_point);
                _log.Info("[COMMAND SENT] : " + xmlCmd);
            }
            catch (Exception ex)
            {
                _log.Error(ex);
            }
        }


Das Obige ist die Einführung der C#-UDP-Sende- und Empfangs-Tool-Klasse. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn