关于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收发请求工具类的示例代码分析的详细内容!

相关阅读 >>

.net 中的程序集

.net和c#有什么区别

.net framework类库的主要功能是什么?

windows登录功能使用c#实现的示例

分享.net mvc中使用forms验证实例代码

c#如何在图片增加文字的示例代码分享

ants performance profiler(.net性能调优教程)

c#与.net框架之间的关系是什么?c#程序的开发工具

uwp中使用composition api实现吸顶的介绍(二)

死锁的概念与死锁的条件

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




打赏

取消

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

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

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

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

评论

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