- #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)
来源: http://www.bubuko.com/infodetail-2587856.html