关于C#如何实现的UDP收发请求工具类的示例代码分析


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了C#实现的UDP收发请求工具类,结合具体实例形式分析了C#针对UDP请求的监听、接收、发送等相关操作技巧,需要的朋友可以参考下

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

初始化:


1

2

3

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

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

SendingIp = ConfigurationManager.AppSettings["SendingIp"];

监听:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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

  });

}

发送:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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#如何实现的UDP收发请求工具类的示例代码分析的详细内容!

相关阅读 >>

c#中ini配置文件的图文代码详解

asp .net 面试题及答案分享

c#根据表格偶数与奇数加载不同颜色的实例分析

mvc 5限制所有http请求必须是post方式

asp.net中关于config文件如何读写的实例分享

unity c# getsavefilename()的实例详解

c# 并行任务之parallel类的实例介绍

c# 定时器timer的实例介绍

c#对word文档的创建、插入表格、设置样式等操作实例

c#如何连接加密数据库(sqlite)的示例分享

更多相关阅读请进入《csharp》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...