您好,匿名用户
随意问技术百科期待您的加入

使用javapns向苹果apns发送消息成功,手机设备有时收不到推送信息

0 投票

使用场景:
1.使用javaPNS2_2做的与apns服务的连接,该连接是长连接形式,能够连接成功;
2.在向apns服务发送消息时会对当前连接判断,使用的是java.net.Socket自带的isClosed、isOutputShutdown、isInputShutdown 三个方法进行判断,如果有一个是false那么关闭并重新连接。
3.发送完毕后会获取当前发送的反馈信息,没有错误反馈。
4.测试的手机token为有效的,连接apns反馈服务返回的不可用设备token为空。

问题:
刚启动服务或者自己编写的推送服务一直处于忙碌状态(向apns发送信息时间间隔较短)时手机设备可以收到推送,正常。
如果较长时间(大约1小时左右)没有向apns发送信息,则会出现显示发送成功但是手机接收不到推送消息的情况,再次发送则手机收到推送(连续发送两次,第一次手机没收到,第二次以后都可以);
如果很长时间(大约1晚上)没向apns发送信息,则不管发送多少次手机都接收不到推送。
以上所有情况发生时,socket的判断都是连接可用。
我一直怀疑长连接的问题,也看网上有人提过,他是每过一定时间(半小时还是一小时忘记了)就重启连接。但我觉得这个是取巧,也是逼不得已的情况下采取的措施。但是我在判断长连接状态方面没有什么更好的办法。
希望有做过的人给支支招,或者分析下可能的原因

用户头像 提问 2014年 4月16日 @ Lucia 上等兵 (416 威望)
分享到:

你的回答

隐私保护: 您的邮箱仅用于发送系统通知。
请输入验证码:
    图片验证码看不清?
登录注册后不会被要求输入验证码。

提一个问题:

相关问题

+1 投票
1 回复 106 阅读
+1 投票
1 回复 72 阅读
0 投票
1 回复 38 阅读
用户头像 提问 2012年 12月1日 @ Karthus 上等兵 (227 威望)
+1 投票
1 回复 531 阅读
用户头像 提问 2012年 12月1日 @ Veigar 上等兵 (210 威望)
0 投票
1 回复 4 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...