小编San*_*aal的帖子

多个iPhone APN消息,单个连接

我有一个奇怪的问题.我正在尝试使用Python推送Apple推送通知.我可以毫无问题地连接和发送单个邮件.当我开始发送多条消息时会弹出问题,但它甚至比这更奇怪.

我正在测试多种设备......一些iPhone和一些iPod Touch.我可以毫不费力地向iPhone发送多条消息,但如果我在列表中有一个iPod Touch设备ID,那么之后的任何消息都将失败.

所以,如果我按顺序发送4条消息,如下所示:

1 - iPhone
2 - iPhone
3 - ipod Touch
4 - iPhone

将交付1和2,3和4将失败.

使用相同的设备ID,如果我将任何iPod Touch设备ID移动为第一条消息,则所有消息都将失败.同样,如果我只发送到iPhone,所有消息都会成功.

这是我正在测试的代码,在它的当前状态下,我只会得到前两条消息,最后两条消息每次都会失败.

import struct, ssl, json, sys, time, socket, binascii
from optparse import OptionParser

class PushSender(object):

    def __init__(self, host, cert, key):
        self.apnhost = (host, 2195)
        self.sock = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM),
                                    keyfile = key,
                                    certfile = cert,
                                    do_handshake_on_connect=False)
        self.sock.connect(self.apnhost)
        while True:
            try:
                self.sock.do_handshake()
                break
            except ssl.SSLError, err:
                if err.args[0] == ssl.SSL_ERROR_WANT_READ:
                    select.select([self.sock], [], [])
                elif err.args[0] == ssl.SSL_ERROR_WANT_WRITE:
                    select.select([], [self.sock], [])
                else: …
Run Code Online (Sandbox Code Playgroud)

iphone push apple-push-notifications

6
推荐指数
1
解决办法
5764
查看次数

标签 统计

apple-push-notifications ×1

iphone ×1

push ×1