#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)