![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 85
加糖苏打水
恭请光临~
展开
-
Springboot项目Netty-WebSocket前后端消息交互
最近在用消息队列处理可能会时间较长的任务,用户在提交后可以先做别的,处理的过程会异步完成,完成后及时通知用户。如何实现?首先分析一下我们的需求:(1)即时通信,我不知道什么时候需要发送消息,所以希望双方能提前建立连接或者保持长时间的连接(2)需要服务器端主动向客户端发送消息。Netty作为一个成熟的开源项目,经过了广泛的实战检验,拥有活跃的社区支持和持续的更新维护。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架。原创 2024-06-06 13:23:07 · 710 阅读 · 0 评论 -
WebSocket实现前后端消息交互
这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而 HTTP 请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。要保持客户端程序的在线状态,就需要向服务器轮询,即不断地向服务器发起连接请求,举例来说,我们想要查询当前的排队情况,只能是页面轮询向服务器发出请求,服务器返回查询结果。首先分析一下我们的需求:(1)即时通信,我不知道什么时候需要发送消息,所以希望双方能提前建立连接或者保持长时间的连接(2)需要服务器端主动向客户端发送消息。原创 2024-06-05 20:11:30 · 2233 阅读 · 0 评论 -
用NIO实现在线群聊
用Java里NIO的原生API搭建一个在线群聊系统。编写一个NIO群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)能够实现多人群聊(多客户端)服务器端:可以监测用户上线,离线,并实现消息转发功能客户端:通过Channel可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(由服务器转发得到)serverSocketChannel是否有,有就会在中把serverSocketChannel的下来)socketChannel是否有,有就会在中把socketChannel的下来)触发。原创 2024-06-05 19:54:41 · 750 阅读 · 0 评论 -
【SocketChannel详解】
SocketChannel是一种面向流的连接socket套接字的可选择通道。SocketChannel 作为网络 IO 通道,具体负责进行读写操作。NIO把缓冲区的数据写入通道,或者把通道里的数据读到缓冲区。具有特点:是用来连接Socket套接字的,主要用途用来处理网络I/O的通道,是基于TCP连接传输,SocketChannel实现了可选择通道,可以被多路复用的。原创 2023-12-05 14:29:27 · 856 阅读 · 0 评论 -
【ServerSocketChannel详解】
ServerSocketChannel是面向流的监听socket套接字的可选择性通道。具有以下特点:具有阻塞和非阻塞两种模式;可以注册到多路复用器上(且一般都与复用器配合使用);基于TCP连接;需要绑定到特定端口上;是线程安全的。SocketChannel提供了连接到socket的通道,提供了类似于java.net包中对于网络操作的api的功能。既然已经有连接到Socket套接字的通道,可以主动发起连接、传输数据(client端),功能就是接收连接、接收数据的通道(server端)。原创 2023-12-05 14:39:29 · 585 阅读 · 0 评论