Что означает код errno 97 (EMSGSIZE)?

 
Также может означать:
КонстантаТипОС
EAFNOSUPPORTerrnoLinux
ENOLINKerrnomacOS
HAL1_INITIALIZATION_FAILEDКод BSODWindows
Предыдущий Следующий
ENOLINK EADDRINUSE

EMSGSIZE

EMSGSIZE — значение errno Solaris 97. Solaris возвращает этот статус, когда сообщение, отправляемое через транспортного поставщика, больше внутреннего буфера сообщения или другого сетевого ограничения. Ошибка относится к размеру конкретного сообщения относительно ограничений транспорта.

Измерьте сообщение, завершившееся ошибкой

Для сокетов, ориентированных на сообщения, запишите длину полезных данных, переданную в send(), sendto()или sendmsg(), тип сокета, протокол и назначение. Датаграммные транспорты сохраняют границы сообщений, поэтому приложение не может считать, что ядро разделит любую чрезмерно большую датаграмму на несколько сообщений приложения. Ограничения протокола и пути также могут различаться для разных назначений.

Не диагностируйте EMSGSIZE как общую нехватку памяти. ENOBUFS является более близким состоянием Solaris, когда системе не хватает буферного пространства или очередь заполнена. Для EMSGSIZEсначала уменьшите или сегментируйте сообщение приложения согласно протоколу либо определите фактический предел транспорта. Повтор идентичного слишком большого сообщения не изменит его размер.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.