freeCodeCamp/guide/russian/c/basic-networking/index.md

3.4 KiB
Raw Blame History

title localeTitle
Basic Networking Основные сети

Основные сети

Основная сеть в C в основном включает в себя открытие сокетов и связь через них. Это задает вопрос, что такое Socket?

Что такое гнездо

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

Когда программа работает в сети, она доступна для доступа из разных мест, отличных от локального. В разных местах я имею в виду, что все компьютеры в одной сети могут получить к нему доступ. Но как они? Следовательно, каждая программа регистрируется с номером порта. Подумайте о номере порта как о номере квартиры в огромной квартире. Если письмо отправляется в квартиру, номер квартиры сообщает почтовому отделению конкретную квартиру, в которую он должен пойти.

Но как он прибудет в квартиру? У каждой квартиры есть свой уникальный адрес, почтовое отделение смотрит на тот уникальный адрес (который представляет собой строку) и решает назначение письма. В этом случае каждый компьютер, подключенный к сети, будет иметь IP-адрес, похожий на адрес, используемый при отправке письма через почтовое отделение. Аналогично, компьютер, подключенный к сети, должен знать IP-адреса других компьютеров в одной сети для связи с ними. Для связи с конкретной программой на конкретном компьютере необходим номер порта для этой программы. (Подумайте, номер квартиры из нашей квартиры аналогию.)

Основы программирования сокетов

Программирование сокетов - это способ соединения двух узлов в сети для связи друг с другом. Один сокет (узел) прослушивает конкретный порт на IP, а другой сокет обращается к другому, чтобы сформировать соединение. Сервер формирует сокет прослушивателя, пока клиент обращается к серверу.