Программирование сокетов на языке C позволяет создавать канал связи между двумя программами, работающими на разных устройствах. 2 Обычно сокеты используются для сетевых протоколов, таких как TCP/IP, UDP и ICMP. 2
Процесс программирования сокетов включает несколько этапов: 1
- Создание сокета. 2 Программа указывает семейство протокола, тип сокета и протокол. 2 Семейство протокола определяет формат адреса, используемый для коммуникации, например IPv4 или IPv6. 2 Тип сокета указывает семантику коммуникации, например SOCKSTREAM для надёжного, ориентированного на соединение протокола, такого как TCP, или SOCKDGRAM для ненадёжного, не ориентированного на соединение протокола, такого как UDP. 2
- Привязка сокета к интерфейсу и порту. 2 Для этого используется функция bind(). 2
- Прослушивание соединений. 2 После привязки сокета к порту его можно использовать для прослушивания входящих соединений от других программ. 2 Для этого используется функция listen(). 2
- Установка соединения с сервером. 2 Для этого используется функция connect(). 2
- Отправка и получение данных. 2 После установления соединения данные можно отправлять и получать с помощью функций send() и recv(). 2
- Закрытие сокета. 4 Для этого используется функция close(). 1
В программировании сокетов на C один узел выступает в роли сервера, который слушает на определённом порту по IP-адресу, а другой узел, функционирующий в роли клиента, инициирует соединение с сервером. 34