Sotto Windows utilizzi le librerie Winsock 1.x o 2.x a seconda del sistema su cui intendi far girare l'applicazione. A meno che tu nn abbia motivi specifici per non farlo (programmazione per Windows CE ad es.) conviene l'ultima versione, visto che ti offre piu delle precedenti.
Se ti interessa in particolare la programmazione di rete sotto sistemi Windows potrest idare un'occhiata a Network Programming for Microsoft Windows, 2nd Edition.
Se invece lavori sotto Unix/Linux c'è il masterpiece di Stevens, che viene usato anche all'uni.
In etrambi i casi, prima di addentrarti nella programmazione di rete, devi conoscere un minimo di programmazione di sistema, visto che quella di rete utilizza i thread per gestire situazioni di concorrenza.
Cosa sono i socket...![]()
Ho avuto tre corsi di reti all'uni, in ogni corso mi è stata data una definizione diversa.
Wikipedia dice testualmente Può essere visto come il punto in cui il codice applicativo di un processo accede al canale di comunicazione, gestito dal sistema operativo. Per il programmatore un socket può essere visto come un particolare file dal quale leggere i dati da ricevere e scrivere i dati da trasmettere.
Detto terra terra, il socket è lo strumento che permette a te di stabilire con chi, e come, vuoi parlare e, una volta connesso, di parlarci.
edit: i libri di Stevens...
Advanced Programming in the UNIX Environment (qui tratta sia la programmazione di sistema che quella di rete, ma in maniera soft )
UNIX Network Programming Volume 1 e 2 ...ci va giu pesante
So che c'è anche un terzo volume, ma nn sono ancora riuscito a metterci le mani sopra.



Rispondi quotando