ВУЗ:
Составители:
Рубрика:
55
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка соединения", "Error", MB_OK);
return;
}
} // конец функции SetConnection
В вышеприведенном листинге вначале с помощью функции
socket
создает-
ся сокет, затем выполняется заполнение адресной информацией структуры
dest_sin
. С целью получения адреса IP используется функция
gethostbyname
, в
качестве параметра указывается имя узла
localhost
. В файле
HOSTS
это имя
всегда отображается на адрес 127.0.0.1
. . . другие строки файла HOSTS . . .
127.0.0.1 localhost
. . . другие строки файла HOSTS . . .
Адрес 127.0.0.1 является локальным, его можно использовать для тестиро-
вания приложений, выполняющих обмен данных при помощи протокола
TCP/IP, запуская серверное и клиентское приложения на одном компьютере.
После заполнения структуры с адресной информацией функция
connect
создает канал связи с сервером.
6.7 Передача и прием данных
После создания канала связи можно начинать передачу данных. Для пере-
дачи данных посредством протокола гарантированной доставки TCP можно
воспользоваться функциями
send
и
recv
, входящими в программный интер-
фейс
Windows Sockets
.
Функция передачи данных
send
имеет 4 параметра - дескриптор сокета
sock
, на котором выполняется передача, адрес буфера
buf
, содержащего пере-
даваемое сообщение, размер этого буфера
bufsize
и флаги
flags:
int send(SOCKET sock, const char FAR *buf, int bufsize, int flags);
Фрагмент исходного C-кода передачи данных серверу приведен ниже
char szBuf[80];
lstrcpy(szBuf, "Тестовая строка для передачи");
send(srv_socket, szBuf, lstrlen(szBuf), 0);
Параметры предназначенной для приема данных функции
recv
аналогичны
параметрам функции
send
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка соединения", "Error", MB_OK);
return;
}
} // конец функции SetConnection
В вышеприведенном листинге вначале с помощью функции socket создает-
ся сокет, затем выполняется заполнение адресной информацией структуры
dest_sin. С целью получения адреса IP используется функция gethostbyname, в
качестве параметра указывается имя узла localhost. В файле HOSTS это имя
всегда отображается на адрес 127.0.0.1
. . . другие строки файла HOSTS . . .
127.0.0.1 localhost
. . . другие строки файла HOSTS . . .
Адрес 127.0.0.1 является локальным, его можно использовать для тестиро-
вания приложений, выполняющих обмен данных при помощи протокола
TCP/IP, запуская серверное и клиентское приложения на одном компьютере.
После заполнения структуры с адресной информацией функция connect
создает канал связи с сервером.
6.7 Передача и прием данных
После создания канала связи можно начинать передачу данных. Для пере-
дачи данных посредством протокола гарантированной доставки TCP можно
воспользоваться функциями send и recv, входящими в программный интер-
фейс Windows Sockets.
Функция передачи данных send имеет 4 параметра - дескриптор сокета
sock, на котором выполняется передача, адрес буфера buf, содержащего пере-
даваемое сообщение, размер этого буфера bufsize и флаги flags:
int send(SOCKET sock, const char FAR *buf, int bufsize, int flags);
Фрагмент исходного C-кода передачи данных серверу приведен ниже
char szBuf[80];
lstrcpy(szBuf, "Тестовая строка для передачи");
send(srv_socket, szBuf, lstrlen(szBuf), 0);
Параметры предназначенной для приема данных функции recv аналогичны
параметрам функции send
55
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »
