所以我编写了一个小抽搐的irc机器人,但它已经断开连接,机器人只是停留在pinging ping并且经过3次拨片后我的机器人从抽搐中收到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之后完全抽搐不再ping或发送任何东西。
如果您想了解更多信息,请向我索取更多代码。
答案 0 :(得分:0)
也许无关:
将套接字解释为文件:https://docs.python.org/2/library/socket.html#socket.socket.makefile
f = s.makefile()
for line in f:
print 'Read:', line
command, arguments = line.rstrip().split(' ', 2)
if command == 'PING':
f.write('PONG ' + arguments + '\r\n')
这使得这么多事情变得如此简单。如果问题仍然存在,请尝试并发表评论。