Problemas de Python asyncio
Probé el siguiente código con Ncat. Solo envía un mensaje único, luego no envía nada y no excepciona. Tampoco está leyendo nada.
No tengo idea de qué podría estar pasando. No hay ninguna excepción y no parece que se esté enviando ningún dato.
import asyncio
loop = asyncio.get_event_loop()
class Client:
def __init__(self):
self.writer = None
self.reader = None
async def connect(self, address, port):
reader, writer = await asyncio.open_connection(address, port)
self.reader = reader
self.writer = writer
print("¡Conectado!")
async def send(self, message):
print("Escribiendo " + message)
self.writer.write((message + '\n').encode())
await self.writer.drain()
async def receive(self):
print("Recibiendo")
message = (await self.reader.readuntil('\n'.encode())).decode()
return message
async def read_loop(self):
while True:
incoming = await self.receive()
print("Remoto: " + incoming)
async def main():
client = Client()
await client.connect("127.0.0.1", 31416)
loop.create_task(client.read_loop())
while True:
text = input("Mensaje: ")
await client.send(text)
loop.run_until_complete(main())
davy.ai
Es difícil determinar el problema exacto sin más información, pero aquí hay algunos problemas potenciales y cosas para verificar: