Skip to content

Короткий посібник із сокетного програмування для комп’ютерних мереж TCP/IP

2 de Серпень de 2021

Програмування сокетів – це фундаментальна технологія зв’язку в мережах TCP/IP. Сокет-це одна кінцева точка двостороннього зв’язку між двома програмами, що працюють у мережі. Розетка забезпечує двонаправлену кінцеву точку зв’язку для надсилання та прийому даних через інший сокет. Сокетні з’єднання зазвичай виконуються між двома різними комп’ютерами в локальній мережі (LAN) або через Інтернет, але їх також можна використовувати для міжпроцесового зв’язку на одному комп’ютері.

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

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

Micrium.com

Як працюють серверні розетки

Як правило, сервер працює на одному комп’ютері і отримує доступ до сокета, прив’язаного до певного порту. Сервер чекає, поки інший комп’ютер зробить запит на з’єднання. Клієнтський комп’ютер знає ім’я хоста комп’ютера -сервера та номер порту, на якому прослуховує сервер. Клієнтський комп’ютер ідентифікує себе, і – якщо все буде добре – сервер дозволяє клієнтському комп’ютеру підключатися.

Бібліотеки розетки

Замість того, щоб кодувати безпосередньо до сокетних API низького рівня, мережеві програмісти зазвичай використовують бібліотеки сокетів. Дві поширені бібліотеки сокетів – це Berkeley Sockets для систем Linux/Unix та WinSock для систем Windows. Бібліотека сокетів надає набір функцій API, подібних до тих, які програмісти використовують для роботи з файлами, наприклад відчинено(), читати (), написати (), і закрити ().