我对TCP Server和客户端的多线程有问题。 为什么2个客户端无法连接到服务器。如果我仅使用1个客户端,它将起作用。如果我添加更多然后2号客户端。它将进入服务器,并且不会与客户端1断开连接。我如何获得2 ++客户端和更多客户端?
我的服务器代码:
import socket
from threading import Thread
def clientHandler():
conn, addr = server.accept()
print(addr, "is connected")
while 1:
data = conn.recv(1024)
data = data.decode('utf-8')
print(data)
conn.send(b"we got your message !")
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip = socket.gethostbyname("127.0.0.1")
port = 8915
address = (ip, port)
server.bind(address)
server.listen(5)
print("[*] Started listening on", ip, ":", port)
while 1:
Thread(target=clientHandler()).start()
我的客户代码:
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip = socket.gethostbyname("127.0.0.1")
print(ip)
port = 8915
address = (ip, port)
client.connect(address)
while True:
message = input()
client.send(message.encode('utf-8'))
data = client.recv(1024)
data = data.decode('utf-8')
print(data)
if message == "disconnect":
break
这是用于TCP服务器和客户端的简单代码。
有人有伊达吗?希望你理解我的问题!!!
感谢您的帮助!