Тема: Як зробити асинхронна введення у websocket на python?

Допоможіть будь ласка розібратися.
Є ось такий код для отримання даних від вебсокета. Що потрібно сюди додати щоб можна було також надсилати дані на сокет але продовжувати отримувати дані поки вводиш текст?
Наперед дякую.

import asyncio
import websockets

async def connenction():
    async with websockets.connect("ws://localhost:4002") as websocket:
        await websocket.send("[\"text\",[\"connect vlad asdfasdf\"],{}]")
        while True:        
            res = await websocket.recv()
            print(bytes(res, 'utf8').decode('unicode-escape'))

asyncio.run(connection())

2

Re: Як зробити асинхронна введення у websocket на python?

GPT-4 написав:

програма отримує дані від вебсокета та надсилає дані на сокет, продовжуючи отримувати дані поки вводите текст:

import asyncio
import websockets

async def send_text(websocket):
    while True:
        user_input = input("Введіть текст: ")
        if user_input.lower() == "вийти":
            break
        await websocket.send(user_input)

async def receive_text(websocket):
    while True:
        res = await websocket.recv()
        print(bytes(res, 'utf8').decode('unicode-escape'))

async def connection():
    async with websockets.connect("ws://localhost:4002") as websocket:
        await websocket.send("[\"text\",[\"connect vlad asdfasdf\"],{}]")
        send_task = asyncio.create_task(send_text(websocket))
        receive_task = asyncio.create_task(receive_text(websocket))
        await asyncio.gather(send_task, receive_task)

asyncio.run(connection())

Re: Як зробити асинхронна введення у websocket на python?

frz написав:
GPT-4 написав:

програма отримує дані від вебсокета та надсилає дані на сокет, продовжуючи отримувати дані поки вводите текст:

import asyncio
import websockets

async def send_text(websocket):
    while True:
        user_input = input("Введіть текст: ")
        if user_input.lower() == "вийти":
            break
        await websocket.send(user_input)

async def receive_text(websocket):
    while True:
        res = await websocket.recv()
        print(bytes(res, 'utf8').decode('unicode-escape'))

async def connection():
    async with websockets.connect("ws://localhost:4002") as websocket:
        await websocket.send("[\"text\",[\"connect vlad asdfasdf\"],{}]")
        send_task = asyncio.create_task(send_text(websocket))
        receive_task = asyncio.create_task(receive_text(websocket))
        await asyncio.gather(send_task, receive_task)

asyncio.run(connection())

Дякую