Сетевые технологии. Учебное пособие. Баканов В.М. - 41 стр.

UptoLike

Составители: 

41
фейса Windows Sockets
WSAAEINVAL DLL-библиотека, обеспечивающая интерфейс Windows
Sockets, не соответствует версии, указанной приложени-
ем в параметре wWersionRequested
Ниже представлен фрагмент исходного текста стандартного серверного
приложения
SERVER
, выполняющий инициализацию интерфейса
Windows
Sockets
:
rc = WSAStartup(MAKEWORD(1,1), &WSAData);
if (rc)
{
MessageBox(NULL, "Ошибка вызова WSAStartup", "Error", MB_OK);
return (FALSE);
}
// Отображение описания и версии системы Windows
// Sockets в окне органа управления StatusBar
wsprint(szTemp, "Сервер использует %s %s",
WSAAData.szDescription,
WSAData.szSystemStatus);
// Создать StatusBar и реально отобразить строку szTemp
hwndSd = CreateStatusWindow(WS_CHILD | WS_VISIBLE |
WS_BORDER | SBARS_SIZEGRIP,
szTemp, hWnd, IDS_STATUSBAR);
В ОС MS Windows’9x и Windows’NT встроена система
Windows Sockets
версии 1.1, поэтому именно это значение указано при вызове функции
WSAStartup
.
Вышеприведенный код должен быть дополнен описанием структуры
WSADATA
и указателя
LPWSADATA
на нее:
typedef struct WSAData
{
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYS_STATYS+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char FAR *lpVendorInfo;
                        фейса Windows Sockets
WSAAEINVAL              DLL-библиотека, обеспечивающая интерфейс Windows
                        Sockets, не соответствует версии, указанной приложени-
                        ем в параметре wWersionRequested

  Ниже представлен фрагмент исходного текста стандартного серверного
приложения SERVER, выполняющий инициализацию интерфейса Windows
Sockets:

rc = WSAStartup(MAKEWORD(1,1), &WSAData);

if (rc)
{
    MessageBox(NULL, "Ошибка вызова WSAStartup", "Error", MB_OK);
    return (FALSE);
}

// Отображение описания и версии системы Windows
// Sockets в окне органа управления StatusBar
wsprint(szTemp, "Сервер использует %s %s",
                WSAAData.szDescription,
                WSAData.szSystemStatus);

// Создать StatusBar и реально отобразить строку szTemp
hwndSd = CreateStatusWindow(WS_CHILD | WS_VISIBLE |
                            WS_BORDER | SBARS_SIZEGRIP,
                            szTemp, hWnd, IDS_STATUSBAR);

  В ОС MS Windows’9x и Windows’NT встроена система Windows Sockets
версии 1.1, поэтому именно это значение указано при вызове функции
WSAStartup.
  Вышеприведенный код должен быть дополнен описанием структуры
WSADATA и указателя LPWSADATA на нее:

typedef struct WSAData
{
  WORD wVersion;
  WORD wHighVersion;
  char szDescription[WSADESCRIPTION_LEN+1];
  char szSystemStatus[WSASYS_STATYS+1];
  unsigned short iMaxSockets;
  unsigned short iMaxUdpDg;
  char FAR *lpVendorInfo;

                                41