netty 默認(rèn)支持protobuf 的封裝與解碼,如果通信雙方都使用netty則沒有什么障礙,但如果客戶端是其它語言(C#)則需要自己仿寫與netty一致的方式(解碼+封裝),提前是必須很了解netty是如何進(jìn)行封裝與解碼的。這里主要通過讀源碼主要類ProtobufVarint32FrameDecoder(解碼)+ProtobufVarint32LengthFieldPrepender(封裝) 來解析其原理與實(shí)現(xiàn)。


一,支持protobuf 協(xié)議的默認(rèn)實(shí)現(xiàn)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

//配置服務(wù)端NIO線程組  
        EventLoopGroup bossGroup = new NioEventLoopGroup();  
        EventLoopGroup workerGroup = new NioEventLoopGroup();  
        try{  
            ServerBootstrap b = new ServerBootstrap();  
            b.group(bossGroup, workerGroup)  
                .channel(NioServerSocketChannel.class)  
                .option(ChannelOption.SO_BACKLOG, 1024)  
                .handler(new LoggingHandl
        
		

網(wǎng)友評(píng)論