CSocket

Класс CSocket является производным от CAsyncSocket и наследует его инкапсуляции Windows Sockets API. Объект CSocket представляет более высокий уровень абстракции Windows Sockets API, чем у объекта CAsyncSocket . CSocket работает с классами CSocketFile и CArchive управлять отправку и получение данных.

Объект CSocket обеспечивает блокировку, которая необходима для синхронной операции CArchive. Блокирование таких функций, как Receive, отправлять, метод ReceiveFrom SendToи Accept (все унаследованные от CAsyncSocket), не возвращает ошибку WSAEWOULDBLOCK в CSocket. Вместо этого эти функции дождитесь завершения операции. Кроме того первоначальный вызов прекращается с ошибкой WSAEINTR , если CancelBlockingCall вызывается в то время как одна из этих функций блокирует.

Чтобы использовать объект CSocket , вызовите конструктор, а затем вызвать Create для создания основной дескриптор СОКЕТА (тип SOCKET). По умолчанию параметры Create создать сокет поток, но если вы не используете socket с объекта CArchive , можно задать параметр вместо этого создать сокет датаграмм или привязку к конкретному порту создать сокет сервера. Подключение к сокету клиента с использованием подключения на стороне клиента и Accept на стороне сервера. Затем создайте объект CSocketFile и связать его CSocket объекта в конструктор CSocketFile . Далее создания объекта CArchive для отправки и получения данных (при необходимости), а затем связывать их с CSocketFile объекта в конструкторе CArchive . Когда сообщения являются полным, уничтожьте объекты CArchive, CSocketFileи CSocket . Тип данных SOCKET описан в статье Windows Sockets: фон в Руководстве по Visual C++ программист.

For more information, see Windows Sockets in MFC, Windows Sockets: Using Sockets with Archives, Windows Sockets: How Sockets with Archives Work, Windows Sockets: Sequence of Operations, Windows Sockets: Example of Sockets Using Archives, and related articles in Visual C++ Programmer’s Guide. Also see Overview of Windows Sockets 2 and Windows Sockets Programming Considerations in the Win32 SDK documentation.

# include lt;afxsock.h>

Члены классаБазовый класс | Иерархическая схема

Пример  Образца MFC CHATSRVR

См. также CAsyncSocket, CSocketFile

Index