Ответы пользователя по тегу Многопоточность
  • Не могу решить проблему с input?

    @Surv16893 Автор вопроса
    Решил вопрос так:

    Для решения нужны библиотеки:
    import asyncio

    from prompt_toolkit import PromptSession
    from prompt_toolkit.patch_stdout import patch_stdout

    def recv():
        while True:
            data = sock.recv(1024)
            if data:
                print('\n' + data.decode('utf-8'))
    
    async def sender():
        session = PromptSession()
        while True:
            try:
                with patch_stdout():
                    message = await session.prompt_async('{}'.format(nickname) + ': ')
                string = nickname + ': ' + message
                sock.send(string.encode('utf-8'))
            except socket.error:
                pass
    
    thread_reciev = threading.Thread(target=recv, name="reciev_message")
    thread_reciev.start()
    
    asyncio.get_event_loop().run_until_complete(sender())
    Ответ написан
    Комментировать