2009-10-14 8 views
7

Sto cercando di capire un protocollo da utilizzare con i socket di dominio e non riesco a trovare informazioni su come ci si può fidare ciecamente dei domain socket.Quanto sono affidabili i socket di dominio unix?

I dati possono essere persi? I messaggi vengono sempre ricevuti nello stesso ordine di quelli inviati? Anche quando usi i socket dei datagrammi?

I trasferimenti sono atomici? Quando leggo il socket, posso fidarmi del fatto che ottengo l'intero messaggio su una lettura o devo verificarlo da solo?

risposta

11

Da 'uomo AF_UNIX':

tipi validi sono: SOCK_STREAM, per una presa di stream-oriented e SOCK_DGRAM, per un socket datagram-oriented che conserva messaggio confini (come sulla maggior parte delle implementazioni di Unix, Unix i socket del datagramma di dominio sono sempre affidabili e non riordinano i datagrammi);