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


Приложение SERVER - часть 2


// Функция для обработки сообщения WM_SIZE void WndProc_OnSize(HWND hWnd, UINT state, int cx, int cy);

// Запуск сервера void ServerStart(HWND hWnd);

// Останов сервера void ServerStop(HWND hWnd);

// Обработка сообщения WSA_ACCEPT void WndProc_OnWSAAccept(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

// Обработка сообщения WSA_NETEVENT void WndProc_OnWSANetEvent(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); // Порт сервера #define SERV_PORT 5000

#define IDS_STATUSBAR 802 // Определение кодов сообщений #define WSA_ACCEPT (WM_USER + 1) #define WSA_NETEVENT (WM_USER + 2)

// ----------------------------------------------------- // Глобальные переменные // -----------------------------------------------------

// Идентификатор приложения HINSTANCE hInst;

// Название приложения char szAppName[] = "WServer";

// Заголовок главного окна приложения char szAppTitle[] = "Windows Socket Server Demo";

// Идентификатор органа Statusbar HWND hwndSb;

// Сокет сервера SOCKET srv_socket ;

// Длина использованного сокета int acc_sin_len;

// Адрес использованного сокета SOCKADDR _IN acc_sin;

// Локальный сокет SOCKADDR _IN local_sin;

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

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; HWND hWnd; MSG msg;

hInst = hInstance;

// Преверяем, не было ли это приложение запущено ранее hWnd = FindWindow(szAppName, NULL); if(hWnd) { // Если окно приложения было свернуто в пиктограмму, // восстанавливаем его if(IsIconic(hWnd)) ShowWindow(hWnd, SW_RESTORE);

// Выдвигаем окно приложения на передний план SetForegroundWindow(hWnd); return FALSE; }

// Регистрируем класс окна memset(&wc, 0, sizeof(wc));

// Поля wc.cbSize и wc.hIconSm определены в структуре // WNDCLASSEX, которой можно пользоваться для // регистрации класса окна в Windows 95 wc.cbSize = sizeof(WNDCLASSEX);




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



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