Ricevo un error
restituito da una chiamata io.Copy
, a cui ho passato un socket (TCPConn
) come destinazione. Si prevede che l'host remoto lascerà semplicemente la connessione quando ne avrà abbastanza, e non riceverò nulla da loro.Filtrare gli errori di tubo rotto
Quando si verifica la caduta, ottengo questo errore:
write tcp 192.168.26.5:21277: broken pipe
Ma tutto quello che ho è un'interfaccia error
. Come posso differenziare gli errori di pipe broken da altri tipi di errore?
if err.Errno == EPIPE...
Questo sembra un vincitore, darò un via. –
Il confronto con syscall.EPIPE funziona? –
Sì, sì. Inoltre ho dovuto digitare type-assert su 'net.OpError', quindi confrontare' opErr.Err == syscall.EPIPE'. –