python 多线程队列套接字
#server端
import socket import selectors import threading from threading import Thread import time import queue selector = selectors.DefaultSelector() socket_server = socket.socket() address_server = ('0.0.0.0',8080) socket_server.bind(address_server) socket_server.listen(1000) q = queue.Queue(5) class Producer(Thread): '''进队 初始化套接字 套接字入队 ''' def __init__(self, q, socket_server): super().__init__() self.q = q self.socket_server = socket_server def run(self): while True: connect,address = self.socket_server.accept() self.q.put(connect) class Conmuer(Thread): '''出队 套接字出队 ''' def __init__(self, q): super().__init__() self.q = q def run(self): while True: connect = self.q.get() print(type(connect)) massage = connect.recv(1024) if massage: connect.send(massage) else: connect.close() # self.q.task_done() producer = Producer(q, socket_server) conmuer = Conmuer(q) producer.start() conmuer.start() client端
import socket import time socket = socket.socket() address = ('127.0.0.1',8080) socket.connect(address) massage_send = input('请输入') massage_send = bytes(massage_send, encoding='utf-8') socket.send(massage_send) massage_rev = str(socket.recv(1024), encoding='utf-8') print(massage_rev)