Michael J. Donahoo "TCP/IP Sockets in C, 2nd Edition" / Michael J. Donahoo "Программирование TCP/IP сокетов в Си, 2-ое издание": 2.5 Подсоединение сокета

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

2.5 Подсоединение сокета

TCP сокет должен быть подключен к другому сокету, перед тем как между ними могут быть пересланы какие-либо данные.

victor8632 07.06.12 в 07:38

0

В этом смысле использование TCP сокетов чем-то похоже на пользование телефонной сетью.

victor8632 07.06.12 в 07:40

0

Перед тем как поговорить, вы должны набрать нужный телефона и потом должно быть установлено соединение; если соединение не установлено, то вы будете пробовать звонить позже.

victor8632 07.06.12 в 07:42

0

Процесс установки соединения сильно отличается у клиента и сервера: Клиент инициирует соединение, в то время как сервер пассивно ждет, когда клиент подключится к нему. (Для получения дополнительной информации о процессе подключения и то, как он отражен в функциях API, смотрите в пункте 7.4.)

victor8632 07.06.12 в 07:49

0

Для установки соединения с сервером мы вызываем функцию connect() для сокета.

victor8632 07.06.12 в 07:51

0

int connect(int socket, const struct sockaddr *foreignAddress, socklen_t addressLength)

prefer211 06.06.12 в 16:08

0

Первый аргумент - сокет - является дескриптором, созданным функцией socket(). foreignAddress - является указателем на структуру sockaddr, которая генерируется API сокетов; в нашем случае это всегда будет указатель либо на структуру sockaddr_in, либо на структуру sockaddr_in6, содержащую интернет адрес и порт сервера.

victor8632 07.06.12 в 07:53

0

addressLength определяет длину адресной структуры, которую можно получить как sizeof(struct sockaddr_in) или sizeof(struct sockaddr_in6).

victor8632 07.06.12 в 10:15

0

Когда функция connect() заканчивает свою работу, сокет переходит в состояние подключения и соединение готово к передаче данных при помощи вызовов функций send() и recv().

victor8632 07.06.12 в 10:18

0
Минутку...