锁定老帖子 主题:用androidpn来实现推送
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-27
Jclick 写道 仔细看看后台源码,如果有web开发经验的话,很容易看懂的。。
还是有一个问题,我昨天晚上10点连上服务器的,到凌晨1点,这段时间都是正常的可以正常接收,后来睡觉了我就把服务器在后台运行了,可是今天早上7点起来,看了一下,我服务器的session列表里面有我,但是我已经收不到信息了。这个问题要怎么解决呢?我用的是移动的2G卡,服务器部署在linux的tomcat上,服务器用的是电信网。 |
|
返回顶楼 | |
发表时间:2012-04-27
cdztop 写道 Jclick 写道 仔细看看后台源码,如果有web开发经验的话,很容易看懂的。。
还是有一个问题,我昨天晚上10点连上服务器的,到凌晨1点,这段时间都是正常的可以正常接收,后来睡觉了我就把服务器在后台运行了,可是今天早上7点起来,看了一下,我服务器的session列表里面有我,但是我已经收不到信息了。这个问题要怎么解决呢?我用的是移动的2G卡,服务器部署在linux的tomcat上,服务器用的是电信网。 那就应该是重连机制没搞好,客户端已经掉线了,服务端却没发现。如果客户端30秒发一个心跳包的话,服务器端可以在10*30秒做一个监测,发一个空白文本到客户端,这样双方都可以监测。 |
|
返回顶楼 | |
发表时间:2012-04-27
最后修改:2012-04-27
Jclick 写道 cdztop 写道 Jclick 写道 仔细看看后台源码,如果有web开发经验的话,很容易看懂的。。
还是有一个问题,我昨天晚上10点连上服务器的,到凌晨1点,这段时间都是正常的可以正常接收,后来睡觉了我就把服务器在后台运行了,可是今天早上7点起来,看了一下,我服务器的session列表里面有我,但是我已经收不到信息了。这个问题要怎么解决呢?我用的是移动的2G卡,服务器部署在linux的tomcat上,服务器用的是电信网。 那就应该是重连机制没搞好,客户端已经掉线了,服务端却没发现。如果客户端30秒发一个心跳包的话,服务器端可以在10*30秒做一个监测,发一个空白文本到客户端,这样双方都可以监测。 我问一下,出现我上面的这个问题,应该是客户端的心跳没有起作用,我发现有时候它就不发心跳了。服务器端每收一次心跳后台就会打印log的,如下图所示。 因此我在想,客户端启动之后,他就固定30S发一个心跳的,服务器端的ip和端口都是固定的,服务器端不应该收不到心跳包的。可能还是客户端发心跳的这一块出问题的。 但是我刚才用的真机插到电脑里面,直接在Eclipse里面运行程序,它又是正常的。 这个问题我要如何测试,才能找到根源呢? 还有服务器端过很长时间都没有收到客户端的心跳了,它为什么都不关闭session呢? |
|
返回顶楼 | |
发表时间:2012-04-27
cdztop 写道 Jclick 写道 cdztop 写道 Jclick 写道 仔细看看后台源码,如果有web开发经验的话,很容易看懂的。。
还是有一个问题,我昨天晚上10点连上服务器的,到凌晨1点,这段时间都是正常的可以正常接收,后来睡觉了我就把服务器在后台运行了,可是今天早上7点起来,看了一下,我服务器的session列表里面有我,但是我已经收不到信息了。这个问题要怎么解决呢?我用的是移动的2G卡,服务器部署在linux的tomcat上,服务器用的是电信网。 那就应该是重连机制没搞好,客户端已经掉线了,服务端却没发现。如果客户端30秒发一个心跳包的话,服务器端可以在10*30秒做一个监测,发一个空白文本到客户端,这样双方都可以监测。 我问一下,出现我上面的这个问题,应该是客户端的心跳没有起作用,我发现有时候它就不发心跳了。服务器端每收一次心跳后台就会打印log的,如下图所示。 因此我在想,客户端启动之后,他就固定30S发一个心跳的,服务器端的ip和端口都是固定的,服务器端不应该收不到心跳包的。可能还是客户端发心跳的这一块出问题的。 但是我刚才用的真机插到电脑里面,直接在Eclipse里面运行程序,它又是正常的。 这个问题我要如何测试,才能找到根源呢? 还有服务器端过很长时间都没有收到客户端的心跳了,它为什么都不关闭session呢? 这玩意的服务端其实还有很多BUG的,比如这个就是其中一个,客户端不发送断开连接而是网络连接断开,并且客户端的自动重连机制不够健壮的话,服务端虽然在sessionmanager里有记录seession的最后一次会话时间却没有处理,写一个轮询的任务就可以解决这个问题,关键是你还要好好解决客户端的自动重连问题,那才是关键。 |
|
返回顶楼 | |
发表时间:2012-05-02
楼主我正在做一个模拟QQ聊天的,想让你帮我修改一下你的xmpp
|
|
返回顶楼 | |
发表时间:2012-05-04
求源码 22917735@qq.com
|
|
返回顶楼 | |
发表时间:2012-05-16
刚刚下下来了,
明日好好学习一下先, 谢谢诸位前辈的努力,向你们致敬 |
|
返回顶楼 | |
发表时间:2012-05-21
Jclick 写道
cdztop 写道
Jclick 写道
cdztop 写道
Jclick 写道
仔细看看后台源码,如果有web开发经验的话,很容易看懂的。。
还是有一个问题,我昨天晚上10点连上服务器的,到凌晨1点,这段时间都是正常的可以正常接收,后来睡觉了我就把服务器在后台运行了,可是今天早上7点起来,看了一下,我服务器的session列表里面有我,但是我已经收不到信息了。这个问题要怎么解决呢?我用的是移动的2G卡,服务器部署在linux的tomcat上,服务器用的是电信网。 那就应该是重连机制没搞好,客户端已经掉线了,服务端却没发现。如果客户端30秒发一个心跳包的话,服务器端可以在10*30秒做一个监测,发一个空白文本到客户端,这样双方都可以监测。 我问一下,出现我上面的这个问题,应该是客户端的心跳没有起作用,我发现有时候它就不发心跳了。服务器端每收一次心跳后台就会打印log的,如下图所示。 因此我在想,客户端启动之后,他就固定30S发一个心跳的,服务器端的ip和端口都是固定的,服务器端不应该收不到心跳包的。可能还是客户端发心跳的这一块出问题的。 但是我刚才用的真机插到电脑里面,直接在Eclipse里面运行程序,它又是正常的。 这个问题我要如何测试,才能找到根源呢? 还有服务器端过很长时间都没有收到客户端的心跳了,它为什么都不关闭session呢? 这玩意的服务端其实还有很多BUG的,比如这个就是其中一个,客户端不发送断开连接而是网络连接断开,并且客户端的自动重连机制不够健壮的话,服务端虽然在sessionmanager里有记录seession的最后一次会话时间却没有处理,写一个轮询的任务就可以解决这个问题,关键是你还要好好解决客户端的自动重连问题,那才是关键。
楼主,你好,我这也有Jclick同样问题,现在正在研究服务端的源码,如果你已经解决了这些问题,请分享下。 |
|
返回顶楼 | |
发表时间:2012-05-23
客户端的重连不够健壮,服务端的检测掉线不太完善。
对于服务端,可以在xmppIOHandler里面的sessionCreate里加上 IoSessionConfig config = session.getConfig(); config.setIdleTime(IdleStatus.BOTH_IDLE, 150); 150秒没收到消息就认为掉线。 客户端改的太多。记不住了 |
|
返回顶楼 | |
发表时间:2012-06-03
我也遇到了类似问题,当服务器重启后,客户端不能自动重连,麻烦楼主发一份给我吧,谢谢啦
sjx3232@126.com |
|
返回顶楼 | |