随笔分类 -  Netty

摘要:在学完netty基础部分后,你可能很难想到它的使用场景,本章就介绍一个netty的使用场景--websocket协议的应用。 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSoc 阅读全文
posted @ 2019-12-24 16:30 想去天空的猫 阅读(9293) 评论(2) 推荐(0)
摘要:现在大多数项目都是基于spring boot进行开发,所以我们以spring boot作为开发框架来使用netty。使用spring boot的一个好处就是能给将netty的业务拆分出来,并通过spring cloud整合到项目中。 我们以一个简单的客户端发送消息到服务的场景编写一个实例。 一、服务 阅读全文
posted @ 2019-12-03 20:18 想去天空的猫 阅读(9690) 评论(0) 推荐(0)
摘要:一、同步阻塞IO:blocking IO(BIO) 1.过程分析: 当进程进行系统调用时,内核就会去准备数据,当数据准备好后就复制数据到内核缓冲器,复制完成后将数据拷贝到用户进程内存,整个过程都是阻塞的。 2.特点: 优点:能及时响应数据 缺点:因为整个过程都是阻塞的,所以高并发下性能非常差 二、同 阅读全文
posted @ 2019-11-17 20:14 想去天空的猫 阅读(479) 评论(0) 推荐(0)
摘要:一、什么是阻塞、非阻塞、同步、异步 我们以A线程调用B线程的过程例子来讲解这四个概念 在一个程序里,A调用B了,此时如果是 同步: A必须等待B返回结果后,才能继续执行,但是在这期间A会一直监控B的返回状态。 异步: A无需等待B的返回结果,当B执行完成后,会通知A来调用。 阻塞: A一直等待B返回 阅读全文
posted @ 2019-11-16 12:00 想去天空的猫 阅读(292) 评论(0) 推荐(0)
摘要:一、什么是BIO BIO是传统的通信技术,在BIO通信模型中,客户端发送请求给服务器,服务器每次都是会单独创建一个线程来监控客户端的请求,会为每个客户端创建一个线程来处理请求。当前服务器处理完成后,通过原来的输出流返回处理结果给到客户端。如图: 二、JDK实现BIO的案例 按照上面的图,我们知道至少 阅读全文
posted @ 2019-11-05 16:00 想去天空的猫 阅读(357) 评论(0) 推荐(0)