netty tcp 连接池是怎么处理异步的? netty 大神进来搂一眼

2018-06-27 09:58:07 +08:00
 FreeBSD

是这样实现的吗?

1. netty 发送出去的报文中带有一个标志信息,同时 netty 会记录一个 channel 和标志信息的映射关系。

2. 回应时报文也会带这个标志信息,netty 从报文中读取标志信息,然后找出对应的 channel,并调用 channel 的回调。

这块的代码没找见,囧~~~

2457 次点击
所在节点    Java
3 条回复
captainjack
2018-06-27 16:01:13 +08:00
看看 java.nio 就知道了,其实还是靠套接字引用
FreeBSD
2018-06-28 09:38:49 +08:00
@captainjack 能在具体一点吗?
captainjack
2018-06-28 14:08:43 +08:00
@FreeBSD 具体到系统调用的层面,每一个 channel 其实对应的都是一个 fd,所以只需要拿这个描述符来标记就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/466176

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX