Java 网络编程
文章平均质量分 61
潇潇雨歇_
www
展开
-
大屏的接口开发二: 基于SpringBoot的netty数据推送
该文章是继个人大屏接口方法系列:大屏的接口开发一: 基于SpringBoot的webSocket数据推送 之后的第二篇文章,也是实现大屏项目的服务端主动推送数据到前端的一个服务工具类,其相关的业务流程也是跟第一版有很大的相似之处1. SpringBoot整合Netty(pom.xml引入相关的jar包)<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artif原创 2021-08-31 15:36:35 · 708 阅读 · 0 评论 -
大屏的接口开发一: 基于SpringBoot的webSocket数据推送
**在实际的项目开发中,需要用到大屏的展示,大屏的项目对于数据的实时性要求比较高,因此不能用http的接口,需要长连接的数据推送,大屏的免手动刷新,实现数据的同步变动展示。这里主要使用SpringBoot集成webSocket实现数据的全局发送,指定用户发送,值得注意的是这里使用了Spring自带的握手拦截器获取前端传来的userId,与webSocket的会话进行绑定,用于长连接的身份区分。如下是设计思路和代码实现。**1. SpringBoot整合WebSocket(pom.xml引入相关的jar.原创 2021-08-31 14:26:17 · 1985 阅读 · 2 评论 -
Java 网络编程----回顾传统网络编程BIO
一.介绍 网络编程的基本模型是Client/Server模型,也就是两个进程直接进行相互通信,其中服务端提供配置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接成功,则双方即可以进行通信(网络套接字Socket).模型如下图所示 二.代码示例packag原创 2018-01-25 21:45:51 · 371 阅读 · 0 评论 -
Java网络编程----NIO编程
一.介绍 有人叫NIO为New IO,有的人把NIO叫做Nonblock IO,这里还是比较倾向于后者,非阻塞IO.NIO有几个重要的基本概念:Buffer(缓冲区),Channel(管道,通道),Selector(选择器,多路复用器).NIO的本质就是避免原始的TCP建立连接使用三次握手的操作,减少连接的开销.模型如下图:原创 2018-01-25 22:43:19 · 388 阅读 · 0 评论 -
Java网络编程----AIO编程
一.介绍 AIO编程,在NIO基础之上引入了异步通道的概念,并提供了异步文件和异步套接字通道的实现,从而在真正意义上实现了异步非阻塞.NIO只是非阻塞而并非异步.而AIO它不需要通过多路复用器对注册的通道进行轮询操作即可实现异步读写,从而简化了NIO编程模型.也可以称之为NIO2.0.这种模式才是真正属于我们的异步非阻塞的模型 AsynchronousServerSock原创 2018-01-28 17:03:00 · 341 阅读 · 0 评论 -
Java网络编程----Netty入门(NIO框架)
一.介绍 Netty是基于NIO的框架,在介绍Netty之前,对比下这两种方式的通信步骤 1.1 NIO通信步骤 (1) 创建ServerSocketChannel,为它配置非阻塞模式 (2) 绑定监听,配置TCP参数,录入backlog大小等 (3) 创建一个独立的IO线程,用于轮询多路复用器Selector原创 2018-01-28 21:17:00 · 335 阅读 · 0 评论