背景:服务器需要支持多种协议的解析,如何解决呢?一开始以为可以通过netty的解码器,然后根据不同的协议格式来解析判断究竟是什么版本的协议?哪家的协议?但想起来这个逻辑估计会很难完成,而且后期维护和更新会显得复杂,所以想了另外一个办法:不同协议使用不同的端口,比如A协议使用1100端口,B协议使用2200端口,这样就有独立的解编码器,后期维护更新就比较方便。
在这里写贴上部分代码,后期再细化这个思路:
public class TCPServer implements Runnable {
private int port;
Logger logger= LoggerFactory.getLogger(TCPServer.class);
public TCPServer(int port){
this.port=port;
}
public void run(){
EventLoopGroup bossGroup=new NioEventLoopGroup(1);
EventLoopGroup workGroup=new NioEventLoopGroup();
try{
ServerBootstrap serverBootstrap=new ServerBootstrap();
//serverBootstrap.ha