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

    }

    }

    复制代码

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

  • 相关阅读:
    虚方法、重写方法以及抽象类的知识小结
    DateTime时间格式
    JavaScript中Eval()函数的作用
    JQuery Event属性说明
    正则表达式30分钟入门教程
    dwz的form表单中url的变量替换
    dwz中权限的控制
    Dwz下拉菜单的二级联动
    Win7下用IIS发布网站
    IntelliJ IDEA 常用快捷键列表及技巧大全
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9283068.html
Copyright © 2020-2023  润新知