Skip to main content

Программирование сокетов для компьютерных сетей

wb003 Простые способы обращения к сайту (Апрель 2024)

wb003 Простые способы обращения к сайту (Апрель 2024)
Anonim

Программирование сокетов - это фундаментальная технология связи в сетях TCP / IP. Сокет - это одна конечная точка двусторонней связи между двумя программами, запущенными в сети. Сокет обеспечивает двунаправленную конечную точку связи для отправки и приема данных с другим сокетом. Соединения сокетов обычно выполняются между двумя разными компьютерами в локальной сети (LAN) или через Интернет, но они также могут использоваться для межпроцессного взаимодействия на одном компьютере.

Розетки и адреса

Конечные точки разъемов в сетях TCP / IP имеют уникальный адрес, который представляет собой комбинацию IP-адреса и номера порта TCP / IP. Поскольку сокет привязан к определенному номеру порта, уровень TCP может идентифицировать приложение, которое должно получать данные, отправленные ему. При создании нового сокета библиотека сокетов автоматически генерирует уникальный номер порта на этом устройстве. Программист может также указывать номера портов в определенных ситуациях.

Как работают серверные сокеты

Обычно сервер работает на одном компьютере и имеет сокет, привязанный к определенному порту. Сервер ожидает, что другой компьютер выполнит запрос на соединение. Клиентский компьютер знает имя хоста компьютера сервера и номер порта, на котором сервер прослушивает. Клиентский компьютер идентифицирует себя и, если все идет правильно, сервер разрешает подключать клиентский компьютер.

Библиотеки сокетов

Вместо того, чтобы напрямую обращаться к низкоуровневым API-интерфейсам, сетевые программисты обычно используют библиотеки сокетов. Две широко используемые библиотеки сокетов - это Berkeley Sockets для систем Linux / Unix и WinSock для Windows.

Библиотека сокетов предоставляет набор функций API, аналогичных тем, которые используют программисты для работы с файлами, такие как open (), read (), write () и close ().