这笔记整理得很乱,抱歉抱歉,尽量写好些吧。后面再继续整理下。
最近的netty工程,遇到几个问题先记下来:
1、服务端如何表示每一个链路,然后当业务需要时,如何找到这个链路下发指令进行通信?
参考https://segmentfault.com/q/1010000005112923/a-1020000016928422 ,总结下做法就是:每次接受客户端连接时把这些客户端的id记下来,然后服务器对具体的id下发指令。
2、如何处理粘包问题?
有些知识点做些整理:
1、ChannelFuture:接口,
2、ChannelPipeline:
对接报文的处理流程如下:
1、客户端连接;
2、客户端发送报文;
3、先判断报文是否属于其中一种协议格式?如果是其中一种协议,则进行第4步,否则,断开该连接的客户端;
4、对报文进行解析,从报文中获取该设备id;
5、进行报文交互;
遗留问题:
1、如果报文出现错误,需不需要断开连接;
2、如果某个链路连接后台后长时间不发送报文,会占用服务器资源?需不需要将该链路断开?