Глобальные сети компьютеров. Практическое введение в Internet


Приложение CLIENT - часть 5


if(phe == NULL) { closesocket (srv_socket); MessageBox(NULL, "gethostbyname Error", "Error", MB_OK); return; }

// Копируем адрес узла memcpy((char FAR *)&(dest_sin.sin_addr ), phe->h_addr , phe->h_length);

// Другой способ указания адреса узла // dest_sin.sin_addr .s_addr = inet_addr ("200.200.200.201");

// Копируем номер порта dest_sin.sin_port = htons(SERV_PORT);

// Устанавливаем соединение if(connect(srv_socket , (PSOCKADDR )&dest_sin, sizeof(dest_sin)) < 0) { closesocket (srv_socket); MessageBox(NULL, "connect Error", "Error", MB_OK); return; }

// В случае успеха выводим сообщение об установке // соединения с узлом SendMessage(hwndSb, SB_SETTEXT, 0, (LPARAM)"Connected"); }

// ----------------------------------------------------- // Функция SendMsg // -----------------------------------------------------

void SendMsg(HWND hWnd) { char szBuf[80]; lstrcpy(szBuf, "Test string");

// Посылаем сообщение send (srv_socket , szBuf, lstrlen(szBuf), 0); }

Вы сможете разобраться с исходными текстами этого прилжоения самостоятельно, так как все использованные в нем функции были нами уже описаны. Обратим ваше внимание только на функцию SetConnection, предназначенную для установки канала связи с сервером.

Если вы будете проверять работу приложений SERVER и CLIENT на одном и том же компьютере, адрес сервера должен быть указан следующим образом:

phe = gethostbyname ("localhost ");

Для того чтобы установить канал связи с компьютером по его имени, закройте символом комментария приведенную выше строку и уберите символ комментария со строки, расположенной ниже:

//phe = gethostbyname ("frolov");

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

Можно также указать адрес узла в виде десятичных цифр, для чего следует убрать символ комментария со следующей строки:

// dest_sin.sin_addr .s_addr = inet_addr ("200.200.200.201");

Идентификаторы ресурсов приложения CLIENT определены в файле resource.h, представленном в листинге 5.5.




Начало  Назад  Вперед



Книжный магазин