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

    }

    }

    复制代码

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

  • 相关阅读:
    android的窗口创建过程
    android的Binder
    Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
    android的事件分发测试结果
    Don't Store Data in the Application Object
    关于算法
    自定义控件其实很简单3/4
    自定义控件其实很简单2/3
    建设一个能承受500万PV/每天的网站
    strust2里面package的元素排列顺序
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9283068.html
Copyright © 2011-2022 走看看