创建UdpSession
一、说明
UDP组件是基于UDP协议的最基础组件,其功能简单,易用。它既能充当服务器,又能够作为客户端。
二、产品特点
- 简单易用。
- 多线程。
- 内存池
- 高性能
三、产品应用场景
- UDP基础使用场景:可跨平台、跨语言使用。
四、支持插件接口
声明自定义实例类,然后实现IUdpSessionPlugin接口,即可实现下列事务的触发。或者继承自UdpSessionPluginBase类,重写相应方法即可。
插件方法 | 功能 |
---|---|
OnReceivedData | 在收到数据时触发 |
四、使用UdpSession
UdpSession udpSession = new UdpSession();
udpSession.Received += (remote, byteBlock,requestInfo) =>
{
udpSession.Send(remote, byteBlock);
Console.WriteLine($"收到:{Encoding.UTF8.GetString(byteBlock.Buffer, 0, byteBlock.Len)}");
};
udpSession.Setup(new TouchSocketConfig()
.SetBindIPHost(new IPHost(7789)))
.Start();
Console.WriteLine("等待接收");
注意
- 即使不监听地址,Setup和Start都是必须要的。
- 当udp作为客户端时,Config如果不设置SetBindIPHost,将不会接收,如果不知道绑定那个端口,可以直接绑定0端口,这样,就会使用系统空闲的一个端口了。