2015-08-20 2 views
1

In Go, вызов метода net.Listener типа Accept возвращает ошибку. Однако есть ли способ рассказать о разнице между временной ошибкой (т. Е. Это соединение не удалось установить) против постоянной ошибки (т. Е. Слушатель мертв, например, файл сокета домена Unix, который был принудительно удален)? Если я не могу сказать разницы, я запускаю риск бесконечного цикла и выплескивания ошибок так быстро, как могу, так как каждый вызов Accept немедленно возвращает ошибку.Сообщите, нет ли net.Listener

ответ

2

Выяснил это. Ошибки, возвращаемые пакетом net, могут быть типа net.Error, который определяет метод Temporary() bool, который сообщает, является ли эта ошибка временной.

Смежные вопросы