Сервер Websockets не завершится

#python #websocket #python-asyncio

#питон #websocket #python-асинхронный #python

Вопрос:

У меня есть эта программа на Python. Если я запущу его и ни один клиент не подключится к нему, он не завершится. Я пробовал control c, control z, control pause, control break, control shift /, молитву богам python, но ничего. Единственное, что его убьет, это:

  • Нажатие control c, затем подключение клиента
  • управление alt удалить, убить Python.exe

… и то, и другое очень неубедительно.

Я вполне согласен отказаться от этих фреймворков ради других, если мне не нужно писать 60 строк кода для простого сервера вопросов и ответов.

Спасибо!

 import websockets
import asyncio
import time

# socket settings
HOST = '127.0.0.1'  # (localhost)
PORT = 62421        


async def TestingStreaming(websocket, path):
    while True:
        await websocket.send("testing")
        try:
            await websocket.recv()
        except:
            print("Client dropped or left.")
            break
        time.sleep(2)


start_server = websockets.serve(TestingStreaming, host="localhost", port=62421)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
  

Ответ №1:

Управление пауза работает, но только в PowerShell.