C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 268 - Поддержка WinSock в MFC / MFC шаг за шагом / Visual C++

Шаг 268 - Поддержка WinSock в MFC

MFC поддерживает WinSock через два класса:

CAsyncSocket
	CSocket

CAsyncSocket - это класс, который инкапсулирует возможности работы с WinSock API.

CSocket - это более высокоуровневый класс, который происходит от CAsyncSocket. И естественно обеспечивает работу более высокого уровня. Он обеспечивает ряд функций, например, функцию блокирования, которая необходима для работы с классом CArhive. Описание классов находится в файле:

#include "afxsock.h"

Для обеспечения поддержки работы WinSock и классов MFC необходимо произвести инициализацию в InitInstance(CWinApp::InitInstance) класса приложения вызвав функцию AfxSocketInit:

BOOL AfxSocketInit( WSADATA* lpwsaData = NULL );

При инициализации можно передать указатель на структуру WSADATA, которая будет заполнена в ходе инициализации. При удачной инициализации возврат этой функции отличен от нуля, иначе ноль.

struct WSAData 
{
    WORD             wVersion;				// Версия Windows Sockets DLL
    WORD             wHighVersion;				// Версия Windows Sockets DLL
    char             szDescription[WSADESCRIPTION_LEN+1];	// строка описания
    char             szSystemStatus[WSASYSSTATUS_LEN+1];	// строка описания
    unsigned short   iMaxSockets;				// максимальное число доступных сокетов
    unsigned short   iMaxUdpDg;				// размер самой большой датаграммы (UDP)
    char FAR *       lpVendorInfo;				// указатель на специальную структуру
							// которая не является частью стандарта Windows Sockets
};

Внимание ClassWizard не умеет порождать классы от данных. Это придется делать руками.


| |
Автор Каев Артем.
[AD]