python3twitch IRC bot接收消息Python的限制还是错误代码?

2024-06-10 21:01:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图在很短的时间内收到大量的信息时,我似乎遇到了麻烦。我不确定这是Python3的网络协议的限制,还是我接收数据的一种方式。下面我已经发布了如果不是python问题,我如何接收消息的代码。在

我已经编写了一个脚本,在1秒内发送10条消息,我看到了其中60%的消息。如果这是一个编码错误,我该如何解决这个问题?在

# ------ Constructor ----- #

def __init__(self, conf): #constructor
    self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# ------ Connect Function ----- #
def connect(self): 
    self.sock.connect(("irc.twitch.tv", 6667))
    self.sock.send(("PASS %s\n\r" % self.oauth).encode("utf-8"))
    self.sock.send(("NICK %s\n\r" % self.username).encode("utf-8"))
    self.sock.send("TWITCHCLIENT 2\n\r".encode("utf-8"))
    self.sock.send(("JOIN #%s\n\r" % self.channel).encode("utf-8"))

# -------- Receive ------- #

def receive(self):
    data = self.sock.recv(4096)
    data = data.decode("utf-8")
    if 'PING' in data:
        self.sock.send(data.replace('PONG', 'PING').encode("utf-8"))
    return data

Tags: selfsend信息消息datadefconnect时间