32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using DotNetty.Transport.Bootstrapping;
|
|||
|
|
using DotNetty.Transport.Channels;
|
||
|
|
using DotNetty.Transport.Channels.Sockets;
|
||
|
|
using JSMachine.WMS.Infrastructure.Helper;
|
||
|
|
using System;
|
||
|
|
|
||
|
|
namespace JSMachine.WMS.Netty.NettyUdp
|
||
|
|
{
|
||
|
|
public class UdpEngine
|
||
|
|
{
|
||
|
|
public async void InitEngine()
|
||
|
|
{
|
||
|
|
try
|
||
|
|
{
|
||
|
|
MultithreadEventLoopGroup group = new();
|
||
|
|
Bootstrap bootstrap = new();
|
||
|
|
bootstrap
|
||
|
|
.Group(group)
|
||
|
|
.Channel<SocketDatagramChannel>() //UDP连接方式
|
||
|
|
.Option(ChannelOption.SoBroadcast, true) //广播形式获取数据
|
||
|
|
.Option(ChannelOption.SoReuseaddr, true) //可以复用端口号
|
||
|
|
.Handler(new EchoClientChannelHandler());
|
||
|
|
await bootstrap.BindAsync(503); //绑定本地端口号开始监听
|
||
|
|
}
|
||
|
|
catch (Exception ex)
|
||
|
|
{
|
||
|
|
LogHelper.Error($"UDP连接失败,错误信息 {ex.Message}\n{ex.StackTrace}");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|