--- title: Basic Networking localeTitle: Основные сети --- ## Основные сети Основная сеть в C в основном включает в себя открытие сокетов и связь через них. Это задает вопрос, что такое Socket? ## Что такое гнездо Сокет - это одна конечная точка двусторонней линии связи между двумя программами, запущенными в сети. Конечная точка представляет собой комбинацию IP-адреса и номера порта. Сокет привязан к номеру порта, так что уровень TCP может идентифицировать приложение, для которого предназначены данные для отправки. Когда программа работает в сети, она доступна для доступа из разных мест, отличных от локального. В разных местах я имею в виду, что все компьютеры в одной сети могут получить к нему доступ. Но как они? Следовательно, каждая программа регистрируется с номером порта. Подумайте о номере порта как о номере квартиры в огромной квартире. Если письмо отправляется в квартиру, номер квартиры сообщает почтовому отделению конкретную квартиру, в которую он должен пойти. Но как он прибудет в квартиру? У каждой квартиры есть свой уникальный адрес, почтовое отделение смотрит на тот уникальный адрес (который представляет собой строку) и решает назначение письма. В этом случае каждый компьютер, подключенный к сети, будет иметь IP-адрес, похожий на адрес, используемый при отправке письма через почтовое отделение. Аналогично, компьютер, подключенный к сети, должен знать IP-адреса других компьютеров в одной сети для связи с ними. Для связи с конкретной программой на конкретном компьютере необходим номер порта для этой программы. (Подумайте, номер квартиры из нашей квартиры аналогию.) ## Основы программирования сокетов Программирование сокетов - это способ соединения двух узлов в сети для связи друг с другом. Один сокет (узел) прослушивает конкретный порт на IP, а другой сокет обращается к другому, чтобы сформировать соединение. Сервер формирует сокет прослушивателя, пока клиент обращается к серверу.