我在這裏閱讀了關於此主題的一些問題,但我無法得到一個簡單的答案。 我會提供一些代碼,使它更容易。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