ВУЗ:
Составители:
Рубрика:
- 53 -
if (phe == NULL)
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка функции GetHostByName",
"Error", MB_OK);
return;
}
// копирование адреса узла
memcpy((char FAR *) &(dest_sin.sin_addr), phe->h_addr, phe->h_lenght);
// копирование номера порта
dest_sin.sin_port = htons(SERV_PORT);
// установка соединения
if (connect(srv_socket, (PSOCKADDR) &dest_sin, sizeof(dest_sin)) > 0)
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка соединения", "Error", MB_OK);
return;
}
} // конец функции SetConnection
В вышеприведенном листинге вначале с помощью функции socket соз-
дается сокет, затем выполняется заполнение адресной информацией структу-
ры dest_sin. С целью получения адреса IP используется функция
gethostbyname, в качестве параметра указывается имя узла localhost. В файле
HOSTS это имя всегда отображается на адрес 127.0.0.1
. . . другие строки файла localhost . . .
127.0.0.1 localhost
. . . другие строки файла localhost . . .
Адрес 127.0.0.1 является локальным, его можно использовать для тести-
рования приложений, выполняющих обмен данных при помощи протокола
TCP/IP, запуская серверное и клиентское приложения на одном компьютере.
После заполнения структуры с адресной информацией функция connect
создает канал связи с сервером.
6.7.ПЕРЕДАЧА И ПРИЕМ ДАННЫХ
После создания канала связи можно начинать передачу
данных. Для пе-
редачи данных посредством протокола гарантированной доставки TCP мож-
но воспользоваться функциями send и recv, входящими в программный ин-
терфейс Windows Sockets.
- 53 - if (phe == NULL) { closesocket(srv_socket); MessageBox(NULL, "Ошибка функции GetHostByName", "Error", MB_OK); return; } // копирование адреса узла memcpy((char FAR *) &(dest_sin.sin_addr), phe->h_addr, phe->h_lenght); // копирование номера порта dest_sin.sin_port = htons(SERV_PORT); // установка соединения if (connect(srv_socket, (PSOCKADDR) &dest_sin, sizeof(dest_sin)) > 0) { closesocket(srv_socket); MessageBox(NULL, "Ошибка соединения", "Error", MB_OK); return; } } // конец функции SetConnection В вышеприведенном листинге вначале с помощью функции socket соз- дается сокет, затем выполняется заполнение адресной информацией структу- ры dest_sin. С целью получения адреса IP используется функция gethostbyname, в качестве параметра указывается имя узла localhost. В файле HOSTS это имя всегда отображается на адрес 127.0.0.1 . . . другие строки файла localhost . . . 127.0.0.1 localhost . . . другие строки файла localhost . . . Адрес 127.0.0.1 является локальным, его можно использовать для тести- рования приложений, выполняющих обмен данных при помощи протокола TCP/IP, запуская серверное и клиентское приложения на одном компьютере. После заполнения структуры с адресной информацией функция connect создает канал связи с сервером. 6.7.ПЕРЕДАЧА И ПРИЕМ ДАННЫХ После создания канала связи можно начинать передачу данных. Для пе- редачи данных посредством протокола гарантированной доставки TCP мож- но воспользоваться функциями send и recv, входящими в программный ин- терфейс Windows Sockets.
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »