判断net.Listener是否已经死亡

时间:2015-08-20 18:44:03

标签: networking go error-handling

在Go中,对net.Listener类型的Accept方法的调用会返回错误。但是,有没有办法区分瞬态错误(即,此连接未能设置)与永久错误(即,监听器已死,例如强制删除的Unix域套接字文件)?如果我无法区分,我冒着无限循环的风险并尽可能快地吐出错误,因为每次Accept调用都会立即返回错误。

1 个答案:

答案 0 :(得分:2)

想出来。 net包返回的错误可能属于net.Error类型,该类型定义了Temporary() bool方法,该方法报告错误是否是临时的。