Python,我想制作多连接聊天程序

时间:2017-07-09 03:02:47

标签: python sockets networking

我用socket模块编写了聊天程序。 (Python)的

我看到了完美的发送和获取数据。

但我发现了一个问题。

这是我的Server.py

import socket
import threading

HOST = '127.0.0.1'
PORT = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()

print(addr)


def sendmsg():
    while True:
        data = input()
        data = data.encode("utf-8")
        conn.send(data)
    conn.close()


def getmsg():
    while True:
        data = conn.recv(1024)

        if data is None:
            break
        else:
            data = data.decode("utf-8", "ignore")
            print(data)
    conn.close()


threading._start_new_thread(sendmsg, ())
threading._start_new_thread(getmsg, ())

while True:
    pass

Just on Client可以与服务器连接。

我想建立多重连接。

所以我将s.listen(1)的值更改为s.listen(2) 但它没有用。

帮帮我TT

这是client.py

import socket
import threading

HOST = "127.0.0.1"
PORT = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))


def sendMsg():
    while True:
        data = input()
        s.sendall(str.encode(data))
    s.close()


def getMsg():
    while True:
        data = s.recv(1024)
        data = data.decode("utf-8")
        print(data)
    s.close()


threading._start_new_thread(sendMsg, ())
threading._start_new_thread(getMsg, ())

while True:
    pass

谢谢。

0 个答案:

没有答案