Я сделал два сценария клиент и сервер, чтобы они могли общаться между ними с помощью сокетов. все работает, но я хочу способ отправки (в коде: self.send (msg)) и получения сообщений (self.receive_msg ()) одновременно, но я не знаю, как это сделать. Может кто-нибудь, пожалуйста, помогите мне, пожалуйста приведите примеры, если это возможно.
это мой код клиента:
import socket
Client
Socket Programming
class Client:
def __init__(self, IP, PORT, NAME):
"""Constants"""
self.HEADER = 64
self.FORMAT = 'utf-8'
self.DISCONNECT = "quit"
self.ADDR = (IP, PORT)
self.BUFFER = 2048
"""Variables"""
self.PORT = PORT
self.IP = IP
self.NAME = NAME
"""Client Initialisation"""
self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.client.connect(self.ADDR)
def send(self, msg):
message = msg.encode(self.FORMAT)
self.client.send(message)
def receive_msg(self):
print(self.client.recv(self.BUFFER).decode(self.FORMAT))
def run(self):
print("Welcome to the chat app")
print("Type 'quit' to exit the program")
self.send(self.NAME)
self.receive_msg()
while True:
msg = input(">> ")
if msg == "":
continue
self.send(msg)
self.receive_msg()
if msg == "quit":
self.client.close()
break
client = Client(IP="192.168.2.14", PORT=4400, NAME="Jenny")
client.run()