长连接:连接之后不会立即断开。移动端消息推送 MQ
短连接:连接传输完毕之后就断开。(http协议)
粘包:将多个包合在一起一起发送。
拆包:将一个包拆开成多个包分开发送。
解决方法:
1.消息定长,报文大小固定长度,不够的空格补全,发送方和接收方遵循相同的约定,这样既是粘包了通过接收方编程实现获取固定的长度的报文也能区分。
2.报文添加特殊的分隔符,例如每条报文结束都添加回车换行,或者指定特殊字符作为报文分隔符,接收方通过特殊分隔符切分报文区分。
3.将消息分为消息头和消息体,消息头包含表示信息的总长度的字段。
序列化:
将对象序列化为二进制(字节数组),一般也将序列化称为编码,主要用于网络传输,数据持久化等。
反序列化:则是将从网络,磁盘等读取的字节数组还原成原始对象,以便后续业务的进行,一般也将反序列化称为解码,主要用于网络传输对象,以便完成远程调用。
序列化有哪些协议:
json,xml,fastjson。
Netty编程高级
最新推荐文章于 2024-04-30 06:49:00 发布