客户端连接请求被接受后触发
发送消息后触发
收到消息后触发
连接关闭后触发(服务端的连接通常是多个,只要某一个连接关闭了都会触发)
! ! !
组件停止后触发
"#!
"#!"#!
$ 模型包头格式
%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&
前 '( 位为包头标识,用于数据包校验,取值范围为 )*+','(!-'...)/当包头标识
为 ) 时不校验包头
后 ', 位为长度,记录包体长度。有效数据包最大长度不能超过 0121+3(!-3....)
字节,默认长度限制为 141'22(!-2)))))字节
设置包头标识,客户端与服务端的包头标识一致才能通信
5.6)-7
5.64关键点
设置包体长度
8-590121+3
!5:#79')12;')
这 里 只 贴 配 置 代 码 , 由 于 !5 5 已 为 我 们 处 理 封 包 及 解 包 ,
#<!</<=/6"得到的数据已是完整
数据不需要我们再进行拆包处理
、、、、、
中可查看包结构 >?@A>>?@2A2 字节 (1 位,,每一字节八位//前
'1 位表示包头标示,,后 ', 位表示包体长度
//
注意了,其它应用的 socket 消息必须符合此规则否则消息会被过滤掉。
看下 Mina。。。
IoConnector connector = new NioSocketConnector();
connector.setConnectTimeoutMillis(30000);
//2.注册过滤器