Создание сетевых соединений: 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. Теперь готовы приступить к созданию сокета установке соединения удаленным сервером.