netty
邓彪1022
方向错了,速度再快又有什么用。
展开
-
Netty 粘包/半包原理与拆包实战(史上最全)
写在前面大家好,我是作者尼恩。为了完成了一个高性能的 Java 聊天程序,在前面的文章中,尼恩已经再一次的进行了通讯协议的重新选择。这就是:放弃了大家非常熟悉的json 格式,选择了性能更佳的 Protobuf协议。在上一篇文章中,并且完成了Netty 和 Protobuf协议整合实战。具体的文章为:Netty+Protobuf 整合一:实战案例,带源码另外,专门开出一篇...转载 2020-04-23 16:44:41 · 1493 阅读 · 0 评论 -
Netty粘包拆包详细总结
TCP黏包拆包TCP是一个流协议,就是没有界限的一长串二进制数据。TCP作为传输层协议并不不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。怎么解决?消息定长度,传输的数据大小固定长度,例如每段的长度固定为100...转载 2020-03-23 11:44:52 · 963 阅读 · 1 评论 -
Netty解析Http协议的方式(详细总结)
HttpServerCodec是最终类,不可继承。websocket协议本身是基于http协议的,所以也可以使用http解编码器HttpServerCodec的功能有两个:HttpRequestDecoder和HttpResponseEncoder,即在pipline.addLast时要么开始就添加一个HttpServerCodec,或HttpRequestDecoder和HttpRespo...原创 2020-03-19 14:45:49 · 1406 阅读 · 0 评论 -
nginx是使用epoll。 epol是同步非阻塞,那nginx为什么是异步。
nginx不是使用epoll么? epoll貌似是同步的吧! 那nginx所谓的异步非阻塞到底异步在哪里? 为什么使用了epoll却叫异步?epoll确实是阻塞的. nginx的异步并不是指epoll的wait是异步的,而是指对于每个socketfd来说,它的handle是异步的. 其实,nginx是在epoll的地方同步监听socketfd的"改变",如果检测到一个sokce...原创 2019-12-12 17:01:04 · 1110 阅读 · 0 评论