课件和 Demo 地址
https://gitee.com/geektime-geekbang/geek_netty
作者回复: 市场上的几本书我都买了看了,本来做这个课程还在想,既然网上都有那么多资料和书籍了,为什么还要重新造轮子,然后想了下,很多问题在于介绍了太多,但是没有告诉你为什么和怎么用,更像做科学研究,所以打算做这个课程的时候,放弃太多烧脑的东西,争取通过简单易理解的方式,讲一些本质的问题,不然记住太多概念也记不住,记住了用途也不大,个人理解,反正看到您的留言,深受鼓舞,看来我努力的方向没有错。只是达到多少效果的问题了。
作者回复: 你这样理解没有问题,其实从代码角度更好理解: socket channel = server socket channel . accept() 只有服务器端才有server socket channel,因为用它来监听端口,所以客户端没有,只有socket channel ,服务器端两个都有。
作者回复: 多试图用生活场景对照下可能好理解点,看你后面说理解多了,有点欣慰。就是不知道哪个留言在先,哈
作者回复: 你要这么理解也可以,一个连接就是一个socket channel。java里面都是对象,所以连接肯定是对象。
作者回复: 因为很多概念我觉得可能大家都知道就没讲了,如果每个都说,可能被抱怨课程注水的,如果没讲到的,您可以百度下,然后不清楚的可以提个问题,大家一起交流下,谢谢
作者回复: 嗯,这个问题我记录下来,回头我来总结下netty用到的典型设计模式,然后汇总到问题集里面,最后发给您。这个问题其实是个很好的问题,就是很多时候看代码也是如此,如果看出是那种设计模式的话,其实不用多讲,就自然明白了。
作者回复: 那好在结果是好的👌
作者回复: 加油!
作者回复: 建立连接是boss做,但是断开连接(包含注销监听事件)boss不做,是worker做(就像媒人或者中介给一对新人牵线搭桥,后来这对新人离婚了,肯定不会找最开始的媒人吧) 其实你可以把断开连接理解成特殊的读事件,所以是worker自己做。你连接断了,worker肯定要取消掉注册到上面的关于这个连接的监听事件的,因为已经不要这个连接了。 不知道有没有解答你的问题了?如果哪里不清楚再提问,谢谢。
作者回复: boss服务于所有要接入的连接,接入后,转给worker就交班了,然后继续等待服务下一个要接入的连接。 所以boss不会取消注册好的通道,worker才会。因为交班过了。