Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcodeanalyse zur Implementierung der UDP-Toolklasse zum Senden und Empfangen von Anforderungen in C#

Beispielcodeanalyse zur Implementierung der UDP-Toolklasse zum Senden und Empfangen von Anforderungen in C#

黄舟
黄舟Original
2017-06-18 10:30:382111Durchsuche

In diesem Artikel wird hauptsächlich die in C# implementierte UDP-Transceiver-Anfrage-Toolklasse vorgestellt und die zugehörigen Betriebstechniken von C# zum Überwachen, Empfangen und Senden von UDP-Anfragen anhand spezifischer Beispiele analysiert

Das Beispiel in diesem Artikel beschreibt die in C# implementierte Toolklasse zum Senden und Empfangen von UDP-Anfragen. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

Initialisierung:


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

Hö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 der detaillierte Inhalt vonBeispielcodeanalyse zur Implementierung der UDP-Toolklasse zum Senden und Empfangen von Anforderungen in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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