• 欧阳田
    2019-12-11
    学着老师的分析思路,尝试着分析一个区块链项目Corda对Netty的使用过程。

    Corda是如何使用Netty? 地址:https://blog.csdn.net/outsanding/article/details/103498445

    1, Corda是什么?
    2,Corda使用Netty概况?
    3,Corda使用Netty的技巧?
    4,Corda使用Netty可以优化的地方?

    谢谢老师的课程,一路终于学完了,写了很多笔记,也画了很多UML图。
    展开

    作者回复: 这个很赞,正好我也学习下,做到举一反四,哈

    
     2
  • 小奶狗
    2020-01-02
    老师,浏览器客户端websocket是怎么保持长连接的?是通过心跳机制(比如每隔60s,客户端向服务器发送一个报文,然后服务端就保持连接,否则就断开连接)吗?如果要用netty来做websocket的服务端应该注意些啥呢?

    作者回复: 1 你好像颠倒了关系,websocket本来就是长连接的,而长连接的问题就是,有可能连接已死而上层未为可知,所以才需要ping-pong(websocket协议格式中自带了)这种keepalive来检查,如果发现不行了,就断开(这个描述和你说的一样的)。如果用“保持”这词,那应该有idle check自动断连的实现才用这个词比较合适,这里你并无提及。
    2 我没有用过netty的websocket开发过产品级的项目(用的spring websocket),所以不敢说分享值得借鉴的经验,我粗略看了下他的实现,基本功能(编解码等)应该是可以的,主要还是你自己去实现你自己的业务。你去试一试,至少对web socket协议的理解要好多了,其他的一些web socket框架,比较好用,但是实现不够“透明”。谈到具体实现业务可以参考:
    io.netty.example.http.websocketx.benchmarkserver.WebSocketServerHandler#handleWebSocketFrame

    谢谢!

     1
    
我们在线,来聊聊吧