18+
реклама
18+
Бургер менюБургер меню

Программист – Создание web-сервера на ESP32 с помощью MicroPython и socket: практическое руководство (страница 2)

18

Возможности библиотеки socket

Библиотека socket предоставляет широкий спектр возможностей, включая:

Создание сетевых соединений: Socket позволяет создавать соединения между устройствами по протоколам TCP и UDP.

Обмен данными: Библиотека socket позволяет отправлять и получать данные между устройствами по созданному соединению.

Управление соединением: Socket предоставляет функции для управления соединением, такие как установка таймаутов, проверка соединения и закрытие соединения.

Работа с адресами: Библиотека socket позволяет работать IP-адресами и портами, что необходимо для создания сетевых соединений.

Протоколы TCP и UDP

Библиотека socket поддерживает два основных протокола: TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол обеспечивает надежную доставку данных, гарантируя, что данные будут доставлены в правильном порядке без потерь. UDP, наоборот, быструю но не гарантирует надежность доставки.

Пример использования библиотеки socket

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

```python

import socket

Создаем сокет

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

Привязываем сокет к адресу и порту

sock.bind(('192.168.1.100', 8080))

Слушаем входящие соединения

sock.listen(1)

print('Сервер запущен. Ожидание соединений…')

while True:

Принимаем входящее соединение

conn, addr = sock.accept()

print('Соединение установлено с', addr)

Отправляем сообщение клиенту

conn.sendall(b'Hello, client!')

Закрываем соединение

conn.close()

```

Этот пример демонстрирует, как создать сервер, который принимает соединения и отправляет сообщение клиенту. В следующей главе мы рассмотрим, использовать библиотеку socket для создания web-сервера на ESP32.

Вывод

В этой главе мы познакомились с библиотекой socket и ее возможностями. Мы узнали, как создавать сетевые соединения, обмениваться данными управлять соединением. также рассмотрели пример использования библиотеки для создания сервера. следующей продолжим изучать библиотеку применение в создании web-сервера на ESP32.

2.2. Создание сокета и установка соединения

В предыдущей главе мы познакомились с основными понятиями сетевого программирования и узнали, как использовать библиотеку `socket` в MicroPython. Теперь готовы приступить к созданию сокета установке соединения удаленным сервером.

Что такое сокет?

Сокет (socket) – это программный интерфейс, который позволяет двум процессам или приложениям обмениваться данными через сетевое соединение. можно представить как виртуальный канал, по которому данные передаются между двумя точками в сети.

Создание сокета

Чтобы создать сокет, мы используем функцию `socket.socket()` из библиотеки `socket`. Эта функция возвращает объект сокета, который можем использовать для установления соединения с удаленным сервером.

```python

import socket

Создаем сокет

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

```

В этом примере мы создаем сокет с использованием протокола IPv4 (`AF_INET`) и типа сокета `SOCK_STREAM`, который обеспечивает надежную передачу данных.

Установка соединения

После создания сокета мы можем установить соединение с удаленным сервером помощью метода `connect()`. Этот метод принимает два аргумента: адрес сервера и порт.

```python

Устанавливаем соединение с сервером

sock.connect(("www.example.com", 80))

```

В этом примере мы устанавливаем соединение с сервером `www.example.com` на порту 80, который является стандартным портом для HTTP.

Отправка и прием данных

После установления соединения мы можем отправлять и принимать данные с помощью методов `send()` `recv()`. Метод отправляет на сервер, а метод `recv()` принимает от сервера.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.