1. 程式人生 > >socket多執行緒通訊

socket多執行緒通訊

服務端:

import socketserver
# import random

class MyServer(socketserver.BaseRequestHandler):

    def setup(self):
        pass

    def handle(self):
        conn = self.request
        msg = "hello world!"
        conn.send(msg.encode())
        while True:

            data = conn.recv(1024)
            print(data.decode())

            if msg == b'exit':
                break
            msg_input = input("請輸入傳送的訊息:")
            conn.send(msg_input.encode())
            # conn.send(str(random.randint(1,1000)).encode())
        conn.close()

    def finish(self):
        pass

if __name__ == "__main__":
    server = socketserver.ThreadingTCPServer(("127.0.0.1",9999),MyServer)
    server.serve_forever()

客戶端:

import socket

client = socket.socket()

ip_port = ("127.0.0.1",9999)

client.connect(ip_port)

while True:

    data = client.recv(1024)

    print(data.decode())

    msg_input = input("請輸入傳送的訊息:")

    client.send(msg_input.encode())

    if msg_input == "exit":
        break

    # data = client.recv(1024)

    # print(data.decode()