你需要线程做你的出价。在
示例代码# Listen
s.listen(10)
print 'Socket now listening on port ' + str(PORT) + "..."
while 1:
# wait
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ":" + str(addr[1])
# Let's fork a thread for each request
processThread = threading.Thread(target=processConnection, args=(conn, addr[0]));
processThread.start()
s.close()
您的processConnection将如下所示:
^{pr2}$
更新1
如果您需要服务器继续与客户机通信,那么就这样做。服务器将等待客户端发回消息。若客户机发送任何信息,服务器将返回一个随机数。如果客户端不再需要数据,只要关闭连接,服务器循环就会结束。在import socket, random
sock = socket.socket()
host = socket.gethostname()
port = 12345
sock.bind((host, port))
sock.listen(5)
c, addr = sock.accept()
white True:
cpu = random.choice(range(0, 3))
c.send(cpu)
gameon = c.recv(int(1024))
if gameon is None:
break