zoukankan      html  css  js  c++  java
  • C#实现的UDP收发请求工具类实例

    本文实例讲述了C#实现的UDP收发请求工具类。分享给大家供大家参考,具体如下:

    初始化:

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

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

    SendingIp = ConfigurationManager.AppSettings["SendingIp"];

    复制代码

    监听:

    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###########");

    });

    }

    复制代码

    发送:

    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);

    }

    }

    复制代码

    (编辑:雷林鹏 来源:网络)

  • 相关阅读:
    C语言实现链表
    获取两个数之间的随机数-java
    C#继承机制 多级继承
    C#继承机制 访问与隐藏基类成员
    C#继承机制 C#中的继承符合下列规则
    C#装箱与拆箱的研究
    C#箴言之用属性来访问类的私有成员
    C# 创建和初始化集合对象
    C# 常用函数和方法集汇总
    C# 多态与new关键字
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9283068.html
Copyright © 2011-2022 走看看