sockets
Luca Giuzzi
giuzzi a dmf.bs.unicatt.it
Mer 6 Dic 2000 22:10:41 UTC
Per chi non e' contento della spiegazione
"typedef struct sock unix_socket;"
I sockets sono un meccanismo di comunicazione fra piu' processi, sia sul
medesimo sistema sia su macchine diverse (attraverso protocolli di
rete quali TCP/IP).
Cito da varie man pages:
`i socket funzionano come terminali di comunicazione [...]
una coppia di sockets costituisce un canale di comunicazione bidirezionale
che consente a processi diversi di scambiare dati localmente e attraverso
la rete'
Per ogni socket esiste un `dominio di comunicazione' a cui fa riferimento:
questo comprende
1) la famiglia di protocolli da usare
2) le regole per manipolare e interpretare i nomi
3) una famiglia di indirizzi
Un unix domain socket e' un socket che appartiene al dominio AF_UNIX
(AF=Address Family). Esso e' locale e il suo nome e' accessibile con
pathnames UNIX. Un'altra address family e', ad esempio AF_INET.
Venendo al problema del database: due considerazioni
1) un socket esiste fintanto che l'applicazione che l'ha creato e' in
esecuzione... se il backend del database muore, allora il socket cessa
di esistere.
2) un socket ha un set di permissions associato... potresti non essere
autorizzato a connetterti...
3) NON e' possibile usare sockets AF_UNIX da remoto! La famiglia solitamente
e' AF_INET o af_inet6, af_spx, af_ipx, af_at, af_dn, af_packet, af_x25,
af_econet, af_atm, etc. etc. sicuramente NON AF_UNIX...
Ciao,
luca
Maggiori informazioni sulla lista
Lug
|