CSocketFile::CSocketFile

CSocketFile ( CSocket * pSocket, BOOL bArchiveCompatible = действительно );

Параметры

pSocket

Розетка для подключения к объекту CSocketFile.

bArchiveCompatible

Указывает, является ли объект файла для использования с объекта CArchive . Передайте ЛОЖНЫХ , только если вы хотите использовать объект CSocketFile в виде отдельного как изолированный объект CFile , с некоторыми ограничениями. Этот флаг меняет как объекта CArchive , к CSocketFile объекту управляет свой буфер для чтения.

Примечания

Создает объект CSocketFile . Деструктор объекта отмежевывается от объекта socket, когда объект выходит из области действия или удаления.

Примечание CSocketFile может также использоваться как файл (ограниченный) без объекта CArchive . По умолчанию параметр конструктора CSocketFile bArchiveCompatible имеет значение TRUE. Это указывает, что объект файла предназначен для использования с архивом. Чтобы использовать объект файла без Архив, передайте Ложь в параметре bArchiveCompatible.

В режиме «Архив совместимый» объект CSocketFile обеспечивает более высокую производительность и уменьшает опасность "тупик". Взаимоблокировка возникает, когда передающее и принимающее сокеты ожидают друг на друга, или для общего ресурса. Эта ситуация может возникнуть, если объекта CArchive работал с CSocketFile образом, она делает с объектом CFile . С CFileАрхив можно предположить, что если он получает меньше байтов, чем она просила, достигнут конец файла.

С CSocketFileоднако, данные — сообщение на основе; буфер может содержать несколько сообщений, поэтому получать меньше, чем количество байт, просил не означает конец файла. Приложение не блокирует в данном случае, как она могла бы с CFileи спокойно продолжить чтение сообщений из буфера до тех пор, пока буфер не пуст. Функция CArchive::IsBufferEmpty используется для мониторинга состояния буфера архива в таком случае.

Для получения дополнительных сведений об использовании CSocketFile, обратитесь к статьям Windows Sockets: с помощью сокетов с архивами и Windows Sockets: пример розетки с помощью архивы в Руководстве по Visual C++ программист.

Обзор CSocketFileЧлены класса | Иерархическая схема

См. также CFile::CFile, CFile::Read

Index