私は小さな Python プロジェクトとして IRC ボットに取り組んでいました。ボットは非常にうまく機能しますが、長時間接続を維持することはできません. しばらくすると、空の行が端末に出力され、ping が実行されます (サーバーからの PING を処理できないため)。
このコードは、受信側を処理します。
def listen(channel):
while True:
data = conn.recv(4096)
print data
if data != '':
if data.split()[0] == 'PING':
process the data
しばらくすると、ボットは白線を端末に出力するだけで、その理由がわかりません。
完全なコードは、Github で入手できます: https://github.com/Silox/Python-IRC-bot/blob/master/bot.py#L101