Qual è il significato dell'errore "connessione reimpostata dal peer" su una connessione TCP? È un errore fatale o solo una notifica o correlato al fallimento della rete?
Qual è il significato dell'errore "connessione reimpostata dal peer" su una connessione TCP? È un errore fatale o solo una notifica o correlato al fallimento della rete?
Risposte:
È fatale. Il server remoto ti ha inviato un pacchetto RST, che indica una caduta immediata della connessione, piuttosto che la normale stretta di mano. Questo ignora la normale transizione di stato semichiuso. Mi piace questa descrizione :
"Connessione reimpostata dal peer" è l'equivalente TCP / IP di riagganciare il telefono. È più educato del semplice non rispondere, lasciandolo sospeso. Ma non è il FIN-ACK previsto dal conversatore TCP / IP veramente gentile.
Ciò significa che è stato ricevuto un TCP RST e la connessione è ora chiusa. Ciò si verifica quando un pacchetto viene inviato dall'estremità della connessione ma l'altra estremità non riconosce la connessione; invierà indietro un pacchetto con il bit RST impostato per chiudere forzatamente la connessione.
Questo può accadere se l'altro lato si arresta in modo anomalo e poi ritorna su o se chiama close()
sul socket mentre sono in transito dati da te in transito, e ti indica che alcuni dei dati che hai precedentemente inviato potrebbero non essere stati ricevuti.
Sta a te decidere se si tratta di un errore; se le informazioni che stavi inviando erano solo a beneficio del client remoto, potrebbe non essere importante che tutti i dati finali siano andati persi. Tuttavia, è necessario chiudere il socket e liberare qualsiasi altra risorsa associata alla connessione.