通过netty实现服务端与客户端的长连接通讯,及心跳检测。 基本思路:netty服务端通过一个Map保存所有连接上来的客户端SocketChannel,客户端的Id作为Map的key。每次服务器端如果要向某个客户端发送消息,只需根据ClientId取出对应的SocketChannel,往里面写入me...
分类:
Web程序 时间:
2015-04-14 00:29:12
阅读次数:
143
通过netty实现服务端与客户端的长连接通讯,及心跳检测。 ? ? ? ?基本思路:netty服务端通过一个Map保存所有连接上来的客户端SocketChannel,客户端的Id作为Map的key。每次服务器端如果要向某个客户端发送消...
分类:
Web程序 时间:
2015-04-13 11:10:20
阅读次数:
213
是否只有服务器宕机了,别人打电话通知你,你才发现服务器出问题了呢?对于那些不能时刻24小时有人值班的服务器来说.
如果你是开发人员或运维人员, 但又想时刻知道服务器当前是否正常工作(主要指连接正常).
若不正常时会通知自己,恢复正常时候也通知自己.
如果你有类似以上这样的需求的话. 给推荐一个开源的项目
http://git.oschina.net/mkk/HeartBea...
分类:
其他好文 时间:
2015-03-01 19:50:26
阅读次数:
217
在网络通信程序中,心跳检测是必不可少的,我们来看一下networkcomms中是如何实现的以networkcomms2.3.1为例:在服务器端,会有一个线程专门用来发送心跳消息代码如下: protected static void TriggerConnectionKeepAliveThread(....
在微风IM中,当某个客户端下线后,其他客户端能够感知到此用户已经下线,并把其头像图标变成灰色。感知连接的掉线,是networkcomms框架内置的功能,服务器通过心跳检测得知某连接掉线,会从networkcomms内部维护的连接列表中删除此连接,并触发相应的委托。我们要处理某连接掉线,只需要注册Ne...
在AndroidPN客户端里存在着心跳检测功能。就是每隔一段时间客户端向服务器端发送一个消息,以检测连接是否正常,发送的消息内容为: 心跳检测频率时间在SmackConfiguration类中设置: 心跳检测任务的定义及开启在PacketWriter类中:心跳检测的流程:1.按心跳时间定时向服务发....
分类:
移动开发 时间:
2015-02-04 23:05:59
阅读次数:
278
双机热备heartbeat和keepalived一、heartbeat安装配置用heartbet搭建nginx服务高可用环境:两台Centos6.5_x64系统下的高可用,每一台都需要两块网卡。两台机器上都需要安装nginx主服务器masterip(可以访问外网)172.18.9.89ip(用于心跳检测):192.168.8.200从服务器slaveip(可..
分类:
其他好文 时间:
2015-02-03 15:19:24
阅读次数:
282
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。/*请注意使用以下代码,需遵循GplV3协议*//// 保留包类型 消息确认、检验和失败重发、心跳检测、连.....
分类:
Web程序 时间:
2015-01-28 19:27:47
阅读次数:
206
TCP下的Keep Alive
我们常说的TCP的keep alive,就是为了保证连接的有效性,在间隔一定的时间发探测包,根据回复来确认该连接是否有效。通常上层应用会自己提供心跳检测机制,而Linux内核本身也提供了从内核态确保连接有效性的方式。
在sock 函数中可以设置是否需要打开keep alive开关,默认建立socket 是关闭keep alive的。代码如下
opt...
分类:
系统相关 时间:
2015-01-14 21:25:08
阅读次数:
319
回到目录上一讲中基本实现了对数据库的读写分离,而在选择只读数据库上只是随机选择,并没有去检测数据库服务器是否有效,如服务器挂了,SQL服务停了,端口被封了等等,而本讲主要对以上功能进行一个实现,并对配置文件也进行了一些优化,让它更好的支持多个数据库服务器,分别配置各个的账号和密码及数据库服务端口等等...
分类:
数据库 时间:
2015-01-09 19:12:02
阅读次数:
229