C#实现的UDP收发请求工具类实例

发布时间 - 2026-01-11 01:52:42    点击率:

本文实例讲述了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#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#窗体操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # UDP  # 收发  # 请求  # 工具类  # c#实现简单控制台udp异步通信程序示例  # C#中使用UDP通信的示例  # C#使用udp如何实现消息的接收和发送  # 程序设计  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 使用技巧  # 面向对象  # 讲述了  # Task  # Listen  # gt  # Run  # void  # SendingIp  # SendingPort  # static  # public 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: bing浏览器学术搜索入口_bing学术文献检索地址  如何解决hover在ie6中的兼容性问题  免费网站制作appp,免费制作app哪个平台好?  Python数据仓库与ETL构建实战_Airflow调度流程详解  如何为不同团队 ID 动态生成多个非值班状态按钮  如何在万网ECS上快速搭建专属网站?  如何快速建站并高效导出源代码?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  历史网站制作软件,华为如何找回被删除的网站?  Laravel怎么实现验证码(Captcha)功能  Swift开发中switch语句值绑定模式  nodejs redis 发布订阅机制封装实现方法及实例代码  如何在阿里云虚拟服务器快速搭建网站?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Python文件流缓冲机制_IO性能解析【教程】  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  高防服务器如何保障网站安全无虞?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  bootstrap日历插件datetimepicker使用方法  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  C语言设计一个闪闪的圣诞树  Java垃圾回收器的方法和原理总结  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何为API生成Swagger或OpenAPI文档  敲碗10年!Mac系列传将迎来「触控与联网」双革新  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何在新浪SAE免费搭建个人博客?  制作企业网站建设方案,怎样建设一个公司网站?  利用vue写todolist单页应用  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  JS碰撞运动实现方法详解  如何在阿里云虚拟主机上快速搭建个人网站?  Swift中循环语句中的转移语句 break 和 continue  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Python文件操作最佳实践_稳定性说明【指导】  Laravel如何自定义错误页面(404, 500)?(代码示例)  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  香港服务器租用费用高吗?如何避免常见误区?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何在IIS中配置站点IP、端口及主机头?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  太平洋网站制作公司,网络用语太平洋是什么意思?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理