我在这里阅读了关于此主题的一些问题,但我无法得到一个简单的答案。 我会提供一些代码,使它更容易。Python:套接字连接仍然打开
import socket
irc = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
irc.connect((network, port))
# Do the rest of the connection (set nick, user, join chan)
# Okay, now we're connected
while True:
doAllTheBotStuff()
我有一个!quit
命令,打破了while True:
循环。但有时我因为其他原因而被拒绝,例如ping超时或我的网络崩溃。我想要做的是:
while True:
doAllTheBotStuff()
if not stillConnected():
break
我该怎么做stillConnected()
函数?
读/写:
我做了一个类我的机器人,但希望你能理解它没有所有这些信息
# READING
ready = select.select([self.irc], [], [], 1)
if ready[0]:
temp = self.irc.recv(4096)
# Here I handle the reading. Parse commands and all that stuff.
写作始终是一个什么样的反应被阅读。我用这个功能:
def send_irc_cmd(self, cmd, args):
self.irc.send(cmd+" :"+args+"\r\n")
从套接字读取时,或者如果引发'socket.error',通常会通过EOF检测到断开连接。你需要包含进行套接字读写的代码。 – Aya 2013-04-20 17:20:30
我会在问题中包含一块它 – pasadinhas 2013-04-20 17:28:54
更新,如果你需要任何细节问我:) – pasadinhas 2013-04-20 17:34:59