1
Netty에서 UDP 프로토콜로 protobuf 페이로드를 사용하는 방법은 무엇입니까? 맞춤 protobuf 프로토콜로이 예를 들어 주시겠습니까? 그리고 TCP 프로토콜에 관한 한 가지 예가 있습니다.Netty에서 UDP 프로토콜로 protobuf 페이로드를 사용하는 방법? 맞춤 protobuf 프로토콜로이 예를 들어 주시겠습니까?
공공 무효 바인드 (INT 포트) 예외 {
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG, 100)
.handler(new LoggingHandler(LogLevel.INFO)).childHandler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch) {
ch.pipeline().addLast(new ProtobufVarint32FrameDecoder());
ch.pipeline().addLast(new ProtobufDecoder(RichManProto.RichMan.getDefaultInstance()));
ch.pipeline().addLast(new ProtoBufServerHandler());
}
});
ChannelFuture f = b.bind(port).sync();
System.out.println("init start");
f.channel().closeFuture().sync();
} finally {
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
}
먼저 코드를 사용해보십시오. –
내가 알고있는 Netty는 UDP를 사용할 때 NioDatagramChannel을 사용해야합니다. 나는 protobuf를 사용하고 싶지만 NioDatagramPacket을 가지고있다. 그럼 protobuf로 변환하는 방법? – Sakura