为了账号安全,请及时绑定邮箱和手机立即绑定

从Java Socket非阻塞到Netty入门流程

标签:
Java

Java IO,Socket非阻塞通信流程

这里我们使用一个内嵌的永久循环,来让Socket成为一个非阻塞的通信流程。

图片描述

如上图所示,ServerSocket是我们自建的一个类,通过启动线程,且线程内置一个真循环,防止accept阻塞

在客户端监听类上,将监听到的socket作为参数,传递到客户端监听类上,并再次启动线程,获取一个InputStream,同时再次在这个刚刚启动线程内置一个真循环,为的是不断获取信息并回写

这里要注意的是,第一个真循环是保证获取新连接不会阻塞,第二个真循环是保证不停的获取客户端信息并回写

关于客户端则通过端口和IP,启动线程,通过一个循环不停的向服务端写数据;

Netty入门

基于上面的图,我们也可以学习Netty相关的基础入门。

图片描述

NioEventLoop(事件循环)

1、新连接接入
2、连接上的数据读取

Channel(抽象连接)

Socket、SocektChannel(IO\NIO)抽象

ChannelHandler(业务逻辑处理)

读写数据期间的业务层

PipeLine(动态链处理)

多个ChannelHandler组成,让消息可以层层处理

ByteBuf(数据接收)

基本的数据处理基于ByteBuf

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
6131
获赞与收藏
1988

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消