nettywebsocket

网友投稿 165 2023-12-13


netty系列之:使用netty搭建websocket客户端

前面讲解了netty对websocket客户端的支持之后,本节将会讲解netty到底是如何使用这些工具进行消息处理的。首先是按照正常的逻辑创建客户端的Bootstrap,并添加handler。这里的handler就是专门为websocket定制的client端handler。

WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许 服务端主动向客户端推送数据 。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

当服务端/客户端发现包文过大时,会进行拆包。而为每个包定义一系列的定义。

netty,websocket,ipc(lpc和rpc),Nio之间的相互调用

Netty这种RPC框架封装和优化了Java NIO和异步网络编程的一些繁琐的细节,一方面可以让开发者专注于业务逻辑的实现,一方面只需要调用Netty封装的API就可以很快编写出高性能的服务器。

简单点讲,RPC框架就是可以让程序员来调用远程进程上的代码一套工具。有了RPC框架,咱程序员就轻松很多了,终于可以逃离多线程、Socket、I/O的苦海了。 至于最近Java中流行的Netty,没玩过。

ipc是进程间通信,包含lpc(本地进程间通信)和rpc(远程进程间通信),也称进程调用。进程间通信需要用socket。

Netty笔记之六:Netty对websocket的支持

通常来说,对于webSocket协议,为了提升传输的性能和速度,降低网络带宽占用量,在使用过程中通常会带上额外的压缩扩展。为了处理这样的压缩扩展,netty同时提供了服务器端和客户端的支持。

例如:当接收一个 Text 消息时, Netty 首先会实例化一个 TextWebSocketFrame 对象并传递给调用方,而通过 isFinalFragment 我们可以判断出,这个帧对象是否已经传输完毕,如果传输完毕,那么进行业务处理。

首先,我们知道如果我们不用netty而是使用普通的IO模型,那么一个套接字对应一个端口,一台机器一共65535个端口,出去保留的0-1024的端口,剩下6万个是我们能用的。

ipc是进程间通信,包含lpc(本地进程间通信)和rpc(远程进程间通信),也称进程调用。进程间通信需要用socket。

我们使用的是Netty来构建websocket网关,Netty支持CORS很简单:结果是什么呢?我们的websocket服务端正确拿到了*.xx.com的cookie,并完成了后续鉴权工作。

为了更加通用,针对项目进行了重构,对于netty处理也增加了不少优化。优化点:重构之后,过两天就会上线,现在我们总共支持4种不同的数据协议(四种不同厂家的设备),就算还要继续增加,项目结构上也可以很快处理完成。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:oppo必须关掉的三个设置(oppo怎么恢复出厂设置)
下一篇:手机玩黄油的模拟器(手机玩黄油的模拟器有哪些)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~