віртуальний 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