Python,TCP服务器多线程

时间:2019-08-21 18:52:35

标签: python tcp server client

我对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服务器和客户端的简单代码。

有人有伊达吗?希望你理解我的问题!!!

感谢您的帮助!

0 个答案:

没有答案