socket长连接
2016-07-15 18:07
218 查看
1.服务端需要为每一个客户端开启一个线程
2.客户端需要一直给服务端发送心跳包,如果不发了,就说明连接被断开了,客户端也关闭连接,结束线程。
3.当客户端被动关闭连接(断网,信号不好等情况借助第二种方法) 若是客户端主动关闭连接,服务端会抛出异常,认为连接关闭了,结束线程即可。
4.客户端被动断开之后,需要重连。检测是否断开的方式就是发送心跳包
2.客户端需要一直给服务端发送心跳包,如果不发了,就说明连接被断开了,客户端也关闭连接,结束线程。
3.当客户端被动关闭连接(断网,信号不好等情况借助第二种方法) 若是客户端主动关闭连接,服务端会抛出异常,认为连接关闭了,结束线程即可。
4.客户端被动断开之后,需要重连。检测是否断开的方式就是发送心跳包
相关文章推荐
- 结合上面的五个例子,对类的静态成员变量和成员函数作个总结: 一。静态成员函数中不能调用非静态成员。 二。非静态成员函数中可以调用静态成员。因为静态成员属于类本身,在类的对象产生之前就已经存在了,所
- 安卓-Handler引起的内存泄漏
- 常用的异步线程
- 【NFC】在Android中访问内置SE和基于SE的卡模拟
- URAL 1873 大阅读题
- 深入理解JVM—JVM内存模型
- 函数getopt(),及其参数optind
- 自动生成
- 程序对拍方法
- linux rpm 安装包 信息查询
- 如何正确合理的建立MYSQL数据库索引
- HTML 页面滑到最底部,触发事件
- awk进阶
- 关于rem这个东西我要说一句
- iOS addChildViewController 使用
- 2016 年排名 Top 100 的 Java 类库
- Spark性能优化(2)——广播变量、本地缓存目录、RDD操作、数据倾斜
- POJ 3259 SPFA
- 基于Cloudera Manager5.7配置MapReduce与HiveOnSpark压缩
- UVA 11732 "strcmp()" Anyone? 前缀树(Trie)+简单搜索