Шаг 1 - Что такое Windows Sockets
WinSock или Windows socket - это интерфейс программного программирования (API) созданный для реализации приложений в сети на основе протокола TCP/IP. То есть это просто группа функций !!!! Для работы используется WSOCK32.DLL
Программа
WSOCK32.DLL
TCP/IP
Практически это интерфейс к протоколу TCP/IP.
При взаимодействии клиент - сервер в сети каждого участника взаимодействия можно рассматривать как конечную точку. Сокет это вроде как и есть эта конечная точка. В приложении Вы определяете сокет. И хоть программирование сокетов в UNIX и Windows похоже, мы с Вами будем рассматривать именно Windows socket.
Незнаю интересно это или нет, но Windows socket разрабатывался на основе интерфейса Беркли для UNIX, но к ним добавлены функции поддержки событий Windows.
Есть две версии WinSock
- WinSock 1.1 - поддержка только TCP/IP
- WinSock 2.0 - Поддерка дополнительного программного обеспечения
Спецификация WinSock разделяет функции на три типа.
- Функции Беркли
- Информационные функции (получение информации о наименовании доменов, службах, протоколах Internet)
- Расширения Windows для функций Беркли
Все функции могут быть блокирующие и неблокирующие. Обычно блокирующие это функции Беркли. То есть при работе такой функции нельзя выполнять другие функции WinSock.
Давайте расмотрим как производится подключение к серверу. Сначала программа подключается к адресу IP с созданием сокета. Программа будет ждать подключения. Для подключения программа клиент тоже создает сокет и пытается подключиться к сокету сервера. Но сервер не спит !!! Только он увидит попытку подключения он создаст новый сокет. И этот новый сокет будет использоваться для взаимодействия с клиентом. А тот, к которому была попытка подключения будет ждать следующего. На этой основе производится взаимодействие сервера и многими программами.
Сам сокет может быть создан на основе
- TCP (transport control protocol) - надежное соединение
- UDP (user datagram protocol) - ненадежное соединения
Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|