Що повертає recv у разі невдачі?

Що повертає recv у разі невдачі?

У разі успіху recv() повертає довжину повідомлення або дейтаграми в байтах. Значення 0 означає, що з’єднання закрито. У разі невдачі повертає recv(). -1 і встановлює для errno одне з таких значень: Код помилки.

Час очікування з’єднання закінчився під час встановлення з’єднання або через час очікування передачі під час активного з’єднання. Функція recv() може вийти з ладу, якщо: [EIO] Сталася помилка введення/виведення під час читання з файлової системи або запису в неї.

Значення, що повертається. Якщо помилки не виникає, recv повертає кількість отриманих байтів, і буфер, на який вказує параметр buf, міститиме ці отримані дані. Якщо з’єднання було успішно закрито, повертається нульове значення.

Повертає адресу відправника, якщо це підтримується протоколом SOCKET; інакше повертає порожній рядок. Якщо є помилка, повертає невизначене значення. Цей виклик фактично реалізований у термінах системного виклику recvfrom(2).

Функція recv() має повертає довжину повідомлення, записаного в буфер, на який вказує аргумент буфера. Для сокетів на основі повідомлень, таких як SOCK_DGRAM і SOCK_SEQPACKET, все повідомлення має бути прочитано за одну операцію.

Повернене значення. У разі успіху recv() повертає довжина повідомлення або дейтаграми в байтах. Значення 0 означає, що з’єднання закрито.