Socket连接Demo&&长连接Demo

一、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));//在指定的时间没有读/写/读写,就触发事件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,967评论 19 139
  • 1、TCP状态linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lso...
    北辰青阅读 9,511评论 0 11
  • 最近在学习Python看了一篇文章写得不错,是在脚本之家里的,原文如下,很有帮助: 一、网络知识的一些介绍 soc...
    qtruip阅读 2,754评论 0 6
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,799评论 24 1,002
  • 目标:100幅精品思维导图 天数:026/100(填自然日) 完成:019/100(填累积数) 阅读:《傅国翔-自...
    李佳_艾佳阅读 1,178评论 0 0