Где я могу найти список всех типов ошибок сокета в стиле bsd?хороший ресурс для ошибок сокетов?
ответ
В документации? Например, для подключения(), см:
% man connect
...
ECONNREFUSED
No-one listening on the remote address.
EISCONN
The socket is already connected.
ENETUNREACH
Network is unreachable.
Вы также можете найти список кодов ошибок (и общее описание их значения) на страницах Open Group для каждой функции (например, connect).
из вас хотят знать все возможные ERRNO или каким-либо комментарии на них вы могли бы взглянуть на файлы заголовков, в системе Linux там находятся в
- /usr/include/asm-generic/errno-base.h
#ifndef _ASM_GENERIC_ERRNO_BASE_H #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No child processes */ #define EAGAIN 11 /* Try again */ ...
- /usr/include/asm-generic/errno.h
#ifndef _ASM_GENERIC_ERRNO_H #define _ASM_GENERIC_ERRNO_H #include #define EDEADLK 35 /* Resource deadlock would occur */ #define ENAMETOOLONG 36 /* File name too long */ #define ENOLCK 37 /* No record locks available */ #define ENOSYS 38 /* Function not implemented */ #define ENOTEMPTY 39 /* Directory not empty */ #define ELOOP 40 /* Too many symbolic links encountered */ #define EWOULDBLOCK EAGAIN /* Operation would block */ ...
Если вы хотите знать, что Errno вызов, например, socket() или connect() может вернуться при установке файлов разработки и попробуйте подключиться к man-разъему или человеку.
Многие функции будут устанавливать errno
на отказ и вместо того, чтобы проходить через errno.h
самостоятельно и преобразовать номер ошибки в строки, вы намного лучше звонить perror
.
perror
будет печатать текущее errno
соответствующее сообщение stderr
с дополнительным префиксом.
Пример использования:
if (connect())
{
perror("connect() failed in function foo");
...
}
perror
есть друзья называют strerror
и strerror_r
, которые могут оказаться полезными, если вы хотите, чтобы захватить строку для использования в других местах, чем stderr
.
- 1. Хороший ресурс для обучения HTML5
- 2. Хороший ресурс для хранимых процедур
- 3. Хороший пул сокетов клиента
- 4. Хороший ресурс для теории адуопа для начинающих
- 5. Что такое хороший ресурс для обучения XNA?
- 6. Хороший ресурс для построения restful API
- 7. Хороший ресурс для начала разработки мобильного сайта
- 8. Хороший веб-ресурс для обучения Direct Compute?
- 9. Хороший ресурс для встраивания прогнозов погоды
- 10. Любой хороший ресурс для изучения CIL?
- 11. Хороший ресурс для обзора веб-технологий
- 12. Любой хороший ресурс для Android UI styling
- 13. Хороший онлайн-ресурс для дизайна шаблонов
- 14. Хороший ресурс/книга для обучения Objective-C
- 15. Цель C для iOS ... хороший ресурс для программиста php?
- 16. Хороший ресурс по шаблону subdivisonation tessellation
- 17. LL (1) grammars, ища хороший, ясный ресурс
- 18. Есть ли хороший ресурс css-фрагментов?
- 19. Я ищу хороший ресурс на treedrawn treeviews
- 20. Elo rating system ищет хороший ресурс
- 21. хороший ресурс об утверждении политики в WSE3
- 22. Какой хороший ресурс для создания моего первого проекта python?
- 23. Что такое хороший ресурс для изучения использования pthreads с GTK?
- 24. Какой хороший онлайн-ресурс для SQL-сервера и T-SQL?
- 25. Хороший PHP-ресурс для работы с Blogger API?
- 26. Хороший ресурс для изучения методов высокой доступности базы данных
- 27. хороший ресурс для изучения веб-сервисов в java?
- 28. Любой хороший ресурс для определения индексации и блокировки mysql
- 29. Хороший ресурс для того, что нужно искать на графиках Мунина?
- 30. Хороший онлайн-ресурс для общих баз данных/открытых баз данных?