Exercise - Network Programming 3

tcp socket server to achieve concurrent connections based on the receiving client

 

Server

import socket
from threading import Thread

server = socket.socket()
server.bind(
    ('127.0.0.1',8888)
)
server.listen(10)

def action(conn):
    while True:
        try:
            msg_get = conn.recv(1024).decode('utf8')
            if len(msg_get) == 0:
                continue
            if msg_get == 'q':
                break
            print(msg_get)
            conn.send((f'已收到:{msg_get}').encode('utf-8'))
        except Exception as e:
            print(e)
            break


if __name__ == '__main__':
    while True:
        conn, addr = server.accept()
        p = Thread(target=action,args=(conn,))
        p.start()

Client

import socket

client = socket.socket()
client.connect(
    ('127.0.0.1',8888)
)

while True:
    send_msg = input('请输入发送的消息:')
    client.send(send_msg.encode('utf-8'))
    if send_msg == 'q':
        break
    data_get = client.recv(1024).decode('utf-8')
    print(data_get)
client.close()

 

Guess you like

Origin www.cnblogs.com/binyuanxiang/p/11723648.html