C#实现的UDP收发请求工具类实例
本文实例讲述了C#实现的UDP收发请求工具类。分享给大家供大家参考,具体如下:
初始化:
ListeningPort=int.Parse(ConfigurationManager.AppSettings["ListeningPort"]); SendingPort=int.Parse(ConfigurationManager.AppSettings["SendingPort"]); SendingIp=ConfigurationManager.AppSettings["SendingIp"];
监听:
publicstaticvoidListen()
{
Task.Run(()=>
{
vardone=false;
varlistener=newUdpClient(ListeningPort);
vargroupEP=newIPEndPoint(IPAddress.Any,ListeningPort);
stringreceived_data;
byte[]receive_byte_array;
try
{
_log.Error("############Servicestarted###########");
while(true)
{
receive_byte_array=listener.Receive(refgroupEP);
Console.WriteLine("Receivedabroadcastfrom{0}",groupEP.ToString());
received_data=Encoding.UTF8.GetString(receive_byte_array,0,receive_byte_array.Length);
ParseCommand(received_data);
}
}
catch(Exceptione)
{
_log.Error(e);
Console.WriteLine(e.ToString());
}
_log.Error("############Servicestopped###########");
});
}
发送:
publicstaticvoidSendCommand(stringxmlCmd)
{
try
{
varsending_socket=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
varsending_end_point=newIPEndPoint(IPAddress.Parse(SendingIp),SendingPort);
varsend_buffer=Encoding.UTF8.GetBytes(xmlCmd);
sending_socket.SendTo(send_buffer,sending_end_point);
_log.Info("[COMMANDSENT]:"+xmlCmd);
}
catch(Exceptionex)
{
_log.Error(ex);
}
}
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#窗体操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。