我正在尝试使用node.js作为服务器的Apple推送通知服务。到目前为止,我已经让它工作,当它工作时,它按预期工作。
但是,有时消息不会到达。我不确定这是否自然(也许我的连接不良而且消息因此没有通过),或者如果它是我的代码中的错误。情况非常随机。有时它会通过,有时它不会,即使我没有更改代码或任何东西。
我正在使用node-apn(https://github.com/argon/node-apn),并且根据调试控制台,它正在注册成功通过 - 至少从服务器端注册。这是调试消息:
apn Initialising connection +19s
apn Initialising module +1ms
apn Connection established +383ms
apn Sending notification +0ms
apn Socket drained +1ms
apn Socket writeable +0ms
此消息在消息通过和未通过时都会出现。所以我想node-apn本身就可以正常工作了。这意味着它要么:
但我不知道如何找出正在发生的事情。所以我想找到的是一个解决方案:
任何人都知道如何做到这一点?非常感谢你!
答案 0 :(得分:5)
Apple提供了一份精心编写的技术说明,内容涉及推送通知服务的不同问题来源: http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
答案 1 :(得分:0)
在端口2195,2196和5223上使用tcpdump,因为数据通过它们: http://support.apple.com/en-us/HT202944
使用Wireshark读取转储文件: http://redmine.streamco.org/projects/smartswitch-public/wiki/Debug_VoIP_call_with_Wireshark