Уровень 3: Программирование сокетов
К настоящему времени вам должно быть очень удобно писать код Python, который работает на одной машине.
Но что, если вы хотите написать код, который связывается с другими машинами по сети?
Если вы хотите сделать это, то вам нужно узнать о программировании сокетов.
После изучения базовых сетевых концепций вы можете использовать библиотеки Python для написания кода на одном компьютере, который взаимодействует с кодом на другом.
Это как волшебство. Мы до сих пор помним волнение, которое испытывали, когда у нас было два ноутбука, которые общались друг с другом по сети Wi-Fi.
Выполните эти три шага, чтобы начать.
Шаг 1: Написать программу echo
На этом этапе вы будете использовать модуль сокетов Python для записи простого TCP-сервера на одном компьютере и TCP-клиента на другом.
Убедитесь, что это два разных компьютера и оба они подключены к вашей домашней сети.
Идея программы Echo проста. Клиентская сторона читает сообщение от пользователя и отправляет это сообщение на сервер по сети.
На стороне сервера, когда это сообщение получено, сервер передает то же сообщение обратно клиенту.
Думайте о программе Echo как о программе Hello World, но для программирования сокетов.
После этого вы можете перейти к более сложным программам.
Шаг 2: Поиграйся с HTTP
Когда вы освоитесь с написанием простых клиент-серверных приложений TCP, вы можете начать использовать модуль запросов Python для отправки и получения HTTP-сообщений.
Это особенно полезно, потому что подавляющее большинство веб-служб в настоящее время предоставляют интерфейс HTTP API, с которым вы можете взаимодействовать программно. Например, карты Facebook , Twitter и Google имеют интерфейсы HTTP API, с которыми может взаимодействовать ваш код.
И если вы чувствуете себя немного более авантюрным и хотите пойти еще дальше, вы также можете очистить сеть с помощью BeautifulSoup.
Шаг 3: Знай свои инструменты
Как и любая другая программа, иногда, когда вы пишете сетевую программу, ваша программа не будет работать с первой попытки.
Однако отладка сетевых программ немного отличается от отладки обычных программ.
Вот почему вам нужно оборудовать себя инструментами, необходимыми для устранения неполадок в том, что происходит.
Вот некоторые из самых популярных сетевых инструментов, которые вам понадобятся:
- ping — используется для проверки связи между вашей машиной и другой.
- netstat — это универсальный сетевой инструмент, который позволяет вам, помимо прочего, отслеживать сетевые соединения, как входящие, так и исходящие.
- tcpdump — один из моих любимых инструментов для изучения сетей. Это инструменты позволяют вам слушать, захватывать и анализировать реальные пакеты, входящие и выходящие из вашего компьютера через любой сетевой интерфейс.
- Wireshark — это приятный графический интерфейс, который делает практически все, что может сделать tcpdump. Мы рекомендуем начать с Wireshark, прежде чем переходить к tcpdump только потому, что он немного более удобен для пользователя.
И, как мы уже сказали, чтобы понять, что означают все эти Get, SYN , SYN ACK , FIN,вам нужно сначала изучить основы сети.
Начало:
- Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 1
- Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 2
- Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 3
Продолжение:
- Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 5
- Лучший способ изучить Python (пошаговое руководство 2020 года). Часть 6