ВУЗ:
Составители:
Рубрика:
54
Рассмотрим процедуру установки канала связи со стороны клиента, ис-
пользованную в стандартном сетевом приложении
CLIENT
.
Для установки соединения в приложении используется функция
SetConnected:
SOCKADDR_IN dest_sin;
void SetConnection(HWND hWnd)
{
PHOSTENT phe;
// создание сокета
srv_socket = socket(AF_INET, SOCK_STREAM, 0);
if (srv_socket == INVALID_SOCKET)
{
MessageBox(NULL, "Ошибка создания сокета", "Error", MB_OK);
return;
}
// установка IP-адреса и номера порта
dest_sin.sin_family = AF_INET;
// определение адреса узла
phe = gethostbyname("localhost");
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)
Рассмотрим процедуру установки канала связи со стороны клиента, ис-
пользованную в стандартном сетевом приложении CLIENT.
Для установки соединения в приложении используется функция
SetConnected:
SOCKADDR_IN dest_sin;
void SetConnection(HWND hWnd)
{
PHOSTENT phe;
// создание сокета
srv_socket = socket(AF_INET, SOCK_STREAM, 0);
if (srv_socket == INVALID_SOCKET)
{
MessageBox(NULL, "Ошибка создания сокета", "Error", MB_OK);
return;
}
// установка IP-адреса и номера порта
dest_sin.sin_family = AF_INET;
// определение адреса узла
phe = gethostbyname("localhost");
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)
54
Страницы
- « первая
- ‹ предыдущая
- …
- 52
- 53
- 54
- 55
- 56
- …
- следующая ›
- последняя »
