本文摘自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》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 关于C#如何实现的UDP收发请求工具类的示例代码分析