Bene, la mia domanda potrebbe sembrare una cosa di base, ma sono nuovo sul lato della programmazione di rete. Vorrei sapere:È sempre necessario il binding di una presa?
1) È sempre necessario associare un socket per ricevere messaggi da questo? Ho visto uno sniffer code (raw socket) uno in cui direttamente sta invocando recvfrom
e un altro pezzo di codice in cui sta invocando bind
e quindi una ricezione.
2) Qual è la differenza tra la famiglia AF_ * e PF_ *? La versione successiva è correlata a POSIX? Qual è l'opzione consigliata?
1) No, il binding per la ricezione UDP è facoltativo. –
http://stackoverflow.com/questions/2549461/what-is-the-difference-between-af-inet-and-pf-inet-constants. IIRC, P sta per protocollo (famiglia) mentre A sta per Indirizzo. – Aif
@Kerrek SB: Ma il codice dello sniffer che sto riferendo cattura anche i pacchetti da altri protocolli, ma ancora non è stato invocato 'bind' – kingsmasher1