Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
22 Окт 2024
3 мин
7481

Как работать с WebSocket в Python

Изучите основы работы с WebSocket в Python для создания интерактивных веб-приложений с быстрым обменом данных между клиентом и сервером.

WebSocket — это протокол обмена данными между клиентом и сервером в режиме реального времени. Он широко используется для создания интерактивных веб-приложений, таких как чаты, онлайн-игры и других сервисов, где требуется быстрый обмен информацией. В данной статье мы рассмотрим основы работы с WebSocket в Python.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Библиотека websocket

Для работы с WebSocket в Python существует несколько библиотек, одной из популярных является websocket. Чтобы установить эту библиотеку, выполните следующую команду:

pip install websocket-client

Создание WebSocket-клиента

Для начала создадим простой WebSocket-клиент, который будет подключаться к серверу и отправлять ему сообщения. Воспользуемся библиотекой websocket для этого:

import websocket

def on_open(ws):
    print("Connection opened")
    ws.send("Hello, WebSocket!")

def on_message(ws, message):
    print(f"Received message: {message}")

def on_close(ws):
    print("Connection closed")

ws = websocket.WebSocketApp("ws://example.com/ws",
                            on_open=on_open,
                            on_message=on_message,
                            on_close=on_close)

ws.run_forever()

В примере выше мы создаем объект WebSocketApp, указываем адрес сервера и функции обратного вызова для событий открытия соединения, получения сообщений и закрытия соединения. Затем мы вызываем метод run_forever() для запуска главного цикла обработки сообщений.

Создание WebSocket-сервера

Для создания сервера мы будем использовать библиотеку websockets. Установите ее с помощью следующей команды:

pip install websockets

Теперь создадим простой сервер, который будет слушать подключения и обрабатывать сообщения:

import asyncio
import websockets

async def handler(websocket, path):
    print("Client connected")
    message = await websocket.recv()
    print(f"Received message: {message}")
    await websocket.send(f"Hello, {message}!")

start_server = websockets.serve(handler, "localhost", 8765)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

В этом примере мы создаем асинхронную функцию handler, которая будет обрабатывать подключения клиентов и сообщения. Затем мы запускаем сервер на порту 8765 с использованием функции serve из библиотеки websockets. Главный цикл обработки событий запускается с помощью функций run_until_complete и run_forever из библиотеки asyncio.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Теперь вы знакомы с основами работы с WebSocket в Python. Это позволит вам создавать интерактивные веб-приложения и сервисы с быстрым обменом информацией между клиентом и сервером. Не забывайте практиковаться и изучать дополнительные материалы для углубления своих знаний!

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий