1
我有这个聊天服务器代码和消息传递基本上不起作用,即时通讯测试它与远程登录,它不发送任何我发回给客户端。我知道客户端已连接,事实上整个wait_for_connection()工作正常。我有一种感觉,它与我在python中多线程的不良知识有关。有人能纠正我吗?简单的Python聊天服务器
import socket, thread, sys
connections = []
isRunning = True
def wait_for_connection():
while isRunning:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(("", 1234))
s.listen(5);
print "Server is listening"
con, addr = s.accept()
print "Connected to", addr
connections.append(con)
def loop_through_connections():
for con in connections:
con.setblocking(0)
while isRunning:
for con in connections:
data = con.recv(100)
if not data:
break
for connection in connections:
connection.send(data)
if __name__ == "__main__":
thread.start_new_thread(wait_for_connection,())
thread.start_new_thread(loop_through_connections,())
while isRunning:
pass