Domanda

Quando utilizzo la comunicazione socket in PHP, devo confermare se un messaggio è stato ricevuto correttamente dopo aver inviato ciascun messaggio? Oppure il livello di trasporto (TCP) si occuperebbe del rilevamento e della correzione degli errori, garantendo la consegna corretta di tutti i messaggi inviati?

È stato utile?

Soluzione

Non devi preoccuparti di queste cose a questo livello. Dopo aver scritto i dati in un socket aperto, si può essere certi che alla fine arriveranno correttamente (supponendo che ci sia un percorso tra i punti finali). Ciò di cui dovresti occuparti sono i valori di ritorno delle funzioni socket. Controlla tutti restituisce i valori delle funzioni socket_ * per una comunicazione affidabile.

Altri suggerimenti

TCP gestisce il rilevamento e la correzione degli errori fino in fondo. Non esiste qualcosa come garantire una consegna di successo (cfr. backhoe dissolvenza ), quindi c'è un certo livello a cui devi tener conto della possibilità che un messaggio non venga recapitato.

Puoi tranquillamente credere che i dati siano stati ricevuti con successo se la funzione php non segnala alcun errore specifico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top