【发布时间】:2014-09-12 22:19:37
【问题描述】:
所以我编写了一个小型 twitch irc 机器人,但它断开了连接,机器人只是保持 ping 的状态,在 3 次 pong 之后,我的机器人从 twitch 接收到 0 数据并从查看器列表中消失。
这是代码(重要部分):
readbuffer = ""
while (1):
readbuffer=readbuffer+s.recv(4000)
temp=string.split(readbuffer, "\n")
readbuffer=temp.pop( )
for line in temp:
print line
elif(line[0]=="PING"):
s.sendall("PONG %s\r\n" % line[1])
它是一个使用不同参数作为线程部署 2 次的函数..
问题是我首先在 twitch.tv 查看器列表中看到 2 个机器人大约 5 分钟,然后在 3 次 ping 之后完全 twitch 不再 ping 或发送任何东西。
如果您想了解更多信息,请向我索取更多代码。
【问题讨论】:
-
你确定它实际上是在发送任何响应/
line[0]不是单个字符吗? -
我会尝试使用 if('PING' in line):
-
还是一样,会不会是twitch那边的问题?
-
我 90% 确定您的缓冲区逻辑已损坏。请看我的回答。
-
不要将答案/cmets 放在问题的答案中。如果您有解决方案,您可以回答您自己的问题。
标签: python python-2.7 irc twitch