随笔分类 -  网络编程

摘要:1.BIO、NIO和AIO的区别? BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。 伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。 NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请 阅读全文
posted @ 2018-10-29 20:07 后知、后觉 阅读(952) 评论(0) 推荐(0)
摘要:​ 前面三章介绍了Netty的一些基本用法,这一章介绍怎么使用Netty来实现一个简单的长连接demo。 关于长连接的背景知识,可以参考《如何使用Socket实现长连接》 ​ 一个简单的长连接demo分为以下几个步骤: 长连接流程 创建连接(Channel) 发心跳包 发消息,并通知其他用户 一段时 阅读全文
posted @ 2018-10-29 19:57 后知、后觉 阅读(3066) 评论(0) 推荐(0)
摘要:​ Netty强大的地方,是他能方便的实现自定义协议的网络传输。在上一篇文章中,通过使用Netty封装好的工具类,实现了简单的http服务器。在接下来的文章中,我们看看怎么使用他来搭建自定义协议的服务器。要做到这点,第一步要做的,就是要自定义编码器和解码器,这就是我们这一章主要讲的内容。 什么是De 阅读全文
posted @ 2018-10-29 19:55 后知、后觉 阅读(1304) 评论(0) 推荐(1)
摘要:在上一章中我们认识了netty,他有三大优点:并发高,传输快,封装好。在这一章我们来用Netty搭建一个HttpServer,从实际开发中了解netty框架的一些特性和概念。 netty.png 认识Http请求 在动手写Netty框架之前,我们先要了解http请求的组成,如下图: HTTP res 阅读全文
posted @ 2018-10-29 19:53 后知、后觉 阅读(1236) 评论(0) 推荐(0)
摘要:Netty 什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https:/ 阅读全文
posted @ 2018-10-29 19:36 后知、后觉 阅读(413) 评论(0) 推荐(0)
摘要:“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所 阅读全文
posted @ 2018-08-27 16:37 后知、后觉 阅读(403) 评论(0) 推荐(0)