本文实例讲述了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#实现的UDP收发请求工具类实例的更多相关文章

  1. WebUtils-网络请求工具类

    网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...

  2. Http、Https请求工具类

    最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...

  3. 微信https请求工具类

    工作中用到的微信https请求工具类. package com.gxgrh.wechat.tools; import com.gxgrh.wechat.wechatapi.service.System ...

  4. HTTP请求工具类

    HTTP请求工具类,适用于微信服务器请求,可以自测 代码; /// <summary> /// HTTP请求工具类 /// </summary> public class Ht ...

  5. 实现一个简单的http请求工具类

    OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...

  6. 远程Get,Post请求工具类

    1.远程请求工具类   import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.L ...

  7. ajax请求工具类

    ajax的get和post请求工具类: /** * 公共方法类 *  * 使用  变量名=function()定义函数时,如果在变量名前加var,则这个变量变成局部变量 */var Common = ...

  8. 【原创】标准HTTP请求工具类

    以下是个人在项目开发过程中,总结的Http请求工具类,主要包括四种: 1.处理http POST请求[XML格式.无解压]: 2.处理http GET请求[XML格式.无解压]: 3.处理http P ...

  9. 我的Android进阶之旅------>Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类

    下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确,也不需要验证服务器证书中的域名是否有效. (PS:建议下 ...

随机推荐

  1. 5Lambda表达式

    C++11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作.首先看一下Lambda表达式的基本构成: [函数对象参数](操作符重载函数参数)mutable或exception -&g ...

  2. zw版【转发·台湾nvp系列Delphi例程】HALCON MaxImage2

    zw版[转发·台湾nvp系列Delphi例程]HALCON MaxImage2 procedure TForm1.Button1Click(Sender: TObject);var image0, i ...

  3. Azkaban学习笔记(一)

    1. 任务调度概述 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后及前后依赖关系 现成的开源调 ...

  4. Java系列笔记(5) - 线程

    我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了.这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的.这篇文章是本 ...

  5. Kafka学习之(七)搭建kafka可视化服务Kafka Eagle

    一.下载安装包  kafka-eagle-bin-1.2.4.tar.gz 百度云链接:链接:https://pan.baidu.com/s/1SNIkpsvs20A_Ljtx5PaMuA 密码:o4 ...

  6. JavaScript 创建动态表格

    JavaScript 创建动态表格 版权声明:未经授权,严禁转载! 案例代码 <div id="data"></div> <script> va ...

  7. Python字典猜解

    摘要 目标 使用Python破解WordPress用户密码 使用Python破解zip压缩包密码 思路 通过表单提交项构建数据包,使用字典中的可选字符进行逐一排列组合暴力破解WordPress的用户密 ...

  8. 判断某个ImageView的背景图是否是已知的背景图相等

    if (ibtn.getDrawable().getConstantState().equals(getResources().getDrawable(R.mipmap.image).getConst ...

  9. Python3基础 tuple 创建空元组或者只有一个元素的元组 并 用乘法成倍扩充

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. Python3基础 list sort 从小(大)到大(小)排序

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...