美文网首页
Socket连接Demo&&长连接Demo

Socket连接Demo&&长连接Demo

作者: 第七感_12d9 | 来源:发表于2017-10-22 16:25 被阅读0次

    一、Socket Demo

    netty可以用来作为socket开发,以rpc的方式,支持自定义协议,这很适用于微服务之间的通信。以一个简单的聊天程序为例:

    1.Server端:

    (1)主函数

    (2)Handler

    (3)Initializer

    注:netty会自动移除断开的连接,因此无需在channelGroup中remove这个channel

    2.Client端:

    (1)主函数

    (2)Handler

    (3)Initializer

    二、长连接Demo

    WebSocket是长连接,全双工,基于HTTP,亦可用于非浏览器。

    1.Server端:

    (1)主函数

    (2)Handler

    (3)Initializer

    2.Client端:

    注:客户端和服务端建立了长连接,如果客户端开启了飞行模式或者强制关机,handlerRemoved不会被调用,即服务端无法感知客户端已经断开连接-->需要心跳

    心跳主要依赖:IdleStateEvent

    通过pipeline.addLast(newIdleStateHandler(5,7,3, TimeUnit.SECONDS));//在指定的时间没有读/写/读写,就触发事件

    相关文章

      网友评论

          本文标题:Socket连接Demo&&长连接Demo

          本文链接:https://www.haomeiwen.com/subject/claguxtx.html