Netty编程高级
2018-10-09 17:31
85 查看
版权声明:转载请注明出处 https://blog.csdn.net/weixin_37546725/article/details/82985753
长连接:连接之后不会立即断开。移动端消息推送 MQ
短连接:连接传输完毕之后就断开。(http协议)
粘包:将多个包合在一起一起发送。
拆包:将一个包拆开成多个包分开发送。
解决方法:
1.消息定长,报文大小固定长度,不够的空格补全,发送方和接收方遵循相同的约定,这样既是粘包了通过接收方编程实现获取固定的长度的报文也能区分。
2.报文添加特殊的分隔符,例如每条报文结束都添加回车换行,或者指定特殊字符作为报文分隔符,接收方通过特殊分隔符切分报文区分。
3.将消息分为消息头和消息体,消息头包含表示信息的总长度的字段。
序列化:
将对象序列化为二进制(字节数组),一般也将序列化称为编码,主要用于网络传输,数据持久化等。
反序列化:则是将从网络,磁盘等读取的字节数组还原成原始对象,以便后续业务的进行,一般也将反序列化称为解码,主要用于网络传输对象,以便完成远程调用。
序列化有哪些协议:
json,xml,fastjson。
相关文章推荐
- Linux环境高级编程--介绍
- Python高级编程-如何为元祖中的每个元素命名,提高程序可读性?
- 高级GDI图形编程(3)
- UNIX环境高级编程之apue.h
- 《UNIX 环境高级编程》编译环境的搭建( 运行本专栏代码必读 )
- UNIX环境高级编程习题3.2 自己实现dup2函数功能
- python 2.7 : 面向对象高级编程
- 2018.3.5 高级编程作业
- Oracle专家高级编程学习笔记
- asp.net mvc 4 高级编程学习笔记:第三章 视图(2)
- HTML5高级编程之图形扭曲及其应用二(运用篇)
- unix环境高级编程之 read与write 函数详解
- 一、linux下高级应用编程--stdio.h
- unix环境高级编程 第三章 觉得很难
- unix环境高级编程基础知识之第四章
- unix高级网络编程
- Objective-C高级编程——KVO(一)
- ASP.NET MVC应用程序的安全性介绍总括(高级编程)
- Linux高级编程--07.进程间通信
- 并发编程高级篇(二)