netty框架的几个疑惑,希望有大佬解答

qq_37591637 2019-10-09 06:35:59
疑惑
1、netty框架是先监听连接,然后再绑定端口号是么?

2、.channel(NioServerSocketChannel.class)是不是用到了selector复用?

3、 f.channel().closeFuture().sync();是什么意思?
...全文
130 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37591637 2019-10-10
  • 打赏
  • 举报
回复
引用 3 楼 beautystone 的回复:
因为要等待socket关闭了再结束主线程。不等待应该也可以,只是主线程结束了,socket还没有关闭,有可能导致资源泄露。




弱弱的问一句 socket什么时候关闭
qq_37591637 2019-10-10
  • 打赏
  • 举报
回复
引用 3 楼 beautystone 的回复:
因为要等待socket关闭了再结束主线程。不等待应该也可以,只是主线程结束了,socket还没有关闭,有可能导致资源泄露。





你的意思是说:绑定端口号以后,Socket socket=server.accpet(); 建立连接以后,NioServerSocketChannel把连接注册到服务器的Selector上,然后创建SocketCahnnel,在把SocketCahnnel转发到客户端的Selector上;转发工作结束以后,NioServerSocketChannel主线程就会关闭????
beautystone 2019-10-10
  • 打赏
  • 举报
回复
因为要等待socket关闭了再结束主线程。不等待应该也可以,只是主线程结束了,socket还没有关闭,有可能导致资源泄露。
qq_37591637 2019-10-10
  • 打赏
  • 举报
回复
引用 1 楼 kse_music 的回复:
.channel(NioServerSocketChannel.class)// 这里告诉Channel如何接收新的连接

// 等待服务器socket关闭
f.channel().closeFuture().sync();



弱弱的问一句,为什么要等待服务器socket关闭?
kse_music 2019-10-10
  • 打赏
  • 举报
回复
.channel(NioServerSocketChannel.class)// 这里告诉Channel如何接收新的连接 // 等待服务器socket关闭 f.channel().closeFuture().sync();

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧