PYTHON НЕБЛОКИРУЮЩИЕ СОКЕТЫ
Python позволяет работать с неблокирующими сокетами, что позволяет организовать эффективный обмен данными между клиентами и серверами. Благодаря использованию неблокирующих сокетов, приложение может ожидать ответа от сокета без блокировки других операций.
Для создания неблокирующего сокета в Python используется метод setblocking()
, который позволяет задать блокирующий или неблокирующий режим для сокета. Если сокет находится в неблокирующем режиме, метод recv()
возвращает управление немедленно, даже если данные еще не готовы для чтения.
Например, вот простой пример использования неблокирующих сокетов:
import sockethost = 'localhost'port = 8080s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((host, port))s.setblocking(0)while True: try: data = s.recv(1024) if data: print(data) except: pass
В этом примере клиентское приложение создает сокет и устанавливает соединение с сервером на хосте localhost, порту 8080. Затем метод setblocking() вызывается с параметром 0, чтобы переключить сокет в неблокирующий режим.
Затем цикл while ожидает получения данных от сервера с помощью метода recv(). Если данные готовы для чтения, они выводятся на экран. Если данных нет, метод recv() возвращается управление сразу же, таким образом приложение может продолжать выполнять другие операции, вместо ожидания ответа.
#1 - Python Socket - Как Работает Сеть?
Asyncio - Asynchronous programming with coroutines - Intermediate Python Programming p.26
Python tricks: Demystifying async, await, and asyncio
Асинхронный чат на Python socket
ОТПРАВЛЯЕМ КАРТИНКУ ЧЕРЕЗ СОКЕТЫ - Python 3, Питон 3
Socket или как создать собственный сервер на Python в домашних условиях #1 - Базовый курс Python
Новые материалы:
- Python как добавить пробелы в строку
- Python дерево решений
- Байты в мегабайты python
- Курс поколение python для начинающих stepik ответы
- Две гистограммы на одном графике python
- Python pymssql примеры
- Как в python указать путь к файлу
- Алгоритм беллмана форда python
- Четные индексы python
- Как обновить django
- Обработка цифр числа python