CAsyncSocket::Receive

віртуальний Int Отримання ( порожнечу * lpBuf, int nBufLen, int nFlags = 0 );

Значення, яке повертається

Якщо помилки немає, отримання повертає кількість байтів, що отримав. Якщо з'єднання було закрито, вона повертає значення 0. Інакше, повертається значення з SOCKET_ERROR , і міститься код помилки можуть бути отримані за номером GetLastError. Такі помилки застосовуються до цієї функції-члени:

Параметри

lpBuf

Буфер для вхідних даних.

nBufLen

Довжина lpBuf у байтах.

nFlags

Визначає спосіб, в яких здійснюється виклик. Семантика ця функція визначається налаштувань socket і параметр nFlags . Останній будується шляхом об'єднання будь-яке з таких значень з C++ або оператором:

Зауваження

Телефонуйте цієї функції-члена для отримання даних з є сокетом. Ця функція використовується для підключення потоку або дейтаграм розетки і використовується для читання вхідних даних.

Для розеток типу SOCK_STREAMстільки інформації, як в даний час доступна до розміру буфер повертається. Якщо сокет було налаштовано для прийому в рядку даних-група (socket варіант SO_OOBINLINE), -група даних є непрочитані лише дані-група буде повернуто. Застосування можна використати параметр IOCtl SIOCATMARK або OnOutOfBandData , щоб визначити, чи будь-які більш поза діапазону даних залишається для читання.

Для дейтаграм розетки дані витягується з першого дейтаграм enqueued, аж до розміру буфер. Якщо на дейтаграм перевищує буфер, буфер наповнений першу частину на дейтаграм, надлишкових даних втрачається і отримання повертає значення SOCKET_ERROR з кодом помилки, для WSAEMSGSIZE. Якщо немає вхідних даних в розетку, значення SOCKET_ERROR повернувся з кодом помилки, для WSAEWOULDBLOCK. Функцію зворотного виклику OnReceive використовується для визначення, коли надходить більше даних.

Якщо сокет типу SOCK_STREAM і віддаленого боку має завершити роботу підключення витончено, отримання буде негайно комплекті з 0 байт отримав. Якщо підключення скинуто, отримання не буде виконано з помилкою WSAECONNRESET.

Огляд CAsyncSocket |nbsp; Члени класу | Ієрархічна діаграма

Дивіться також CAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket::ReceiveFrom, CAsyncSocket::Send

Index