Если принять системный вызов, то возвращает ошибку, что ожидает обработка ошибок? следует закрыть розетку ??Какова должна быть обработка, если системный вызов accept() возвращает ошибку
ответ
Это зависит от ошибки. При успешном завершении accept()
возвращает сокет (файловый дескриптор) для нового соединения. Если это не удается, вам не нужно закрывать сокет, который вы не получили (например, многие системные вызовы, accept()
возвращает -1, чтобы обозначить ошибку).
В зависимости от кода ошибки, однако, вы можете закрыть гнездо для прослушивания.
Я не могу придумать много примеров, где 'accept' вернет ошибку, которая заставит вас закрыть сокет для прослушивания. Главное, о чем я могу думать, это если вы используете стиль программирования, в котором вы просто игнорируете возвращаемое значение 'socket',' bind' и 'listen' и полагаетесь на' accept', давая вам 'EBADF' или' EINVAL 'если какой-либо из предыдущих вызовов не удался. –
@R ..: Вероятно, это скорее политическое решение, чем необходимость. Как вы говорите, EBADF и EINVAL будут проблемами с параметрами для 'accept()' самого вызова, но 'EMFILE' может быть причиной закрытия магазина (больше не осталось дескрипторов файлов для процесса). –
Может быть. Я бы подумал, что на 'EMFILE' вы хотите просто подождать, пока другие соединения не закончатся, прежде чем принять их еще ... –
- 1. Какова должна быть сложность
- 2. PHP file_get_contents не возвращает ошибку, если она должна быть
- 3. Какова должна быть стоимость androidboot.mode?
- 4. Какова должна быть государственная ценность в Pinterest?
- 5. процесса Найти, где конкретный системный вызов возвращает определенную ошибку
- 6. Системный вызов Linux
- 7. Какова должна быть структура каталогов сервера node.js?
- 8. Android: Какова должна быть ширина диалога?
- 9. Какова должна быть проверка проверки транзакции json?
- 10. Какова должна быть видимость элементов ViewModel?
- 11. Если обработка исключений должна быть централизована, значит, компоненты WinForm ошибочны?
- 12. accept возвращает существующее соединение, вызывая ошибку seg
- 13. Какова должна быть таблица схемы для пожертвований?
- 14. Какова должна быть ценность полного пути?
- 15. Какова должна быть структура виртуальной среды?
- 16. Какова должна быть моя жизнь сети Android?
- 17. Системный вызов Perl вызывает странную ошибку
- 18. Как системный вызов open() возвращает дескриптор файла?
- 19. Почему системный вызов «пауза» всегда возвращает -1?
- 20. Обработка closeEvent accept/ignore
- 21. Когда записывается системный вызов?
- 22. SocketException (системный вызов отменен)
- 23. C - Системный вызов Execl
- 24. открытый системный вызов - Linux
- 25. Какова (или должна быть) циклическая сложность вызова виртуальной функции?
- 26. Системный вызов типа scandir()
- 27. Go окна системный вызов вызов
- 28. Системный вызов stat() блокируется
- 29. accept() возвращает неверный аргумент
- 30. вызов функции: IOException сообщается должна быть объявлена быть выброшен
Зависит от того, что занимает 'errno'. – hmjd
Этот вопрос слишком широк. Как embrion спрашивает врача «Что мне делать после родов» ... –