1
我已經在python(OS X)中編寫了一個簡單的套接字服務器。我希望服務器在客戶端終止通信時重新啓動,以便客戶端可以重新連接到服務器。看看下面的代碼,我需要做什麼在「失去聯繫」IF?我對Python完全陌生。在Python中重新啓動套接字服務器
下面是代碼:
import socket
import os
s = socket.socket()
host = socket.gethostname()
port = 5555
os.system('clear')
print 'Server started'
print 'Waiting'
s.bind((host, port))
s.listen(5)
c, addr = s.accept()
print 'Contact', addr
while True:
msg = c.recv(1024)
if not msg:
s.close
print "Lost contact"
exit()
else:
print msg
shouldn 't's = socket.socket()''s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)'?另外,爲什麼你需要重新啓動服務器?客戶端應該能夠重新連接。另外,你可以添加客戶端軟件 - 也許這是問題。最後,我相信'os'模塊已經過時 - 我可能錯了(雖然它有它的用處......我想) – xxmbabanexx 2013-02-25 23:03:58
考慮使用[SocketServer.TCPServer](http://docs.python.org/2 /library/socketserver.html#socketserver-tcpserver-example)。 – crayzeewulf 2013-02-25 23:04:59
謝謝@crayzeewulf,減緩了我的問題:) – 2013-02-25 23:28:29