socket 通讯检测客户端非正常断线。
来源:互联网 发布:php开发技术 编辑:程序博客网 时间:2024/05/14 15:04
这个socket 通讯类大体框架是借鉴某个高手的博客里面的,具体我就不记得了(我只能说对不起了)。我大概说一下我代码里面的功能:
1.MediaServer 采用的是单例模式,没当有一个clinet 连接的时候就会创建一个MediaTransceiver(接收者)对象。
2.MediaClinet 创建一个MediaTransceiver(接收者)对象并发送一个标识自己的falshid。(因为ip是会变的,不会做为唯一键)
3.也是socket比较难处理的一个问题:非正常断线,就是你拔掉网线的时候socket是检查不到断开的。在网上看了很多帖子:(1)设置超时时间
(2)设置keepAlive (3)设置心跳包。第一个超时时间是read的阻塞时间,并不是说socket的运行了这么久然后就超时断开。所以超时和断开没关系,
第二个keepAlive是十二分钟检测一次服务器的活动状态,个人觉得有点久。第三个正常断开还行,非正常断开(拔网线)就检测不出了。
所以我通过发送0给客户端等待客户端响应1回来,没有则判断为离线。等待响应用的是线程,不然如果断线则会卡在read方法那里。
最后java是开源,代码共享,互相进步,延续这种精神。如果有疑问可以加qq群124795403 交流。我不是大牛,我只是代码的搬运工。
0 0
- socket 通讯检测客户端非正常断线。
- socket 断线检测 心跳检测
- 一种WCF检测客户端断线方法
- 关于检测SOCKET的异常断线
- Android 客户端socket通讯
- 优雅地关闭Socket;检测非正常断开的TCP连接
- 优雅地关闭Socket;检测非正常断开的TCP连接
- SOCKET 检测链接是否断线的三种方法
- socket通讯 客户端和服务端
- 【C#】 Socket通讯客户端程序
- Socket客户端和服务端通讯
- socket实现服务端客户端通讯
- C#+Socket客户端断线重连的解决办法
- 对方网络非正常断开检测方法
- 对方网络非正常断开检测方法
- 对方网络非正常断开检测方法
- 对方网络非正常断开检测方法
- 对方网络非正常断开检测方法
- 剑指offer--面试题10:二进制中1的个数
- 练习搭建spring+springmvc+mybatis实现java web登陆
- Android快速实现通知栏提醒功能
- Qt5--Qt模块简介
- 近百种Android项目源码
- socket 通讯检测客户端非正常断线。
- JAVA学习34_java类加载全过程
- java Pattern和Matcher——用于匹配和查找字符串中的内容
- Android中的onNewIntent()牛刀小试
- 第3章: zookeeper命令行使用
- gulp使用
- Rails Web应用开发实战-学生选课系统基础版(三)
- 橙色——五色配色篇
- tencent GT ios测试电量