17/09/11 14:23
HeDo
allora, come prima cosa c'è da dire che C++ non ha un sistema "del linguaggio" per interagire con la rete.
per offrire questa funzionalità si deve sempre appoggiare a librerie del sistema operativo sottostante.
a seconda del tuo ambiente di sviluppo e di target della tua applicazione dovrai studiare le API di windows o di linux.
fondamentalmente esiste uno standard POSIX per i nomi delle funzioni di rete che danno una certa continuità tra linux e windows, ma spesso ci sono delle incongruenze (soprattutto sotto windows) che violano deliberatamente lo standard e ti obbligano a scrivere codice ad hoc a seconda del SO sottostante.
se la tua intenzione è di cross compilare su linux e windows preparati ad utilizzare pesantemente il preprocessore al fine di escludere/includere parti di codice OS dependent.
detto questo le guide "ufficiali", o meglio le reference ufficiali si trovano sul sito della microsoft (MSDN) per quanto riguarda il winsock:
msdn.microsoft.com/en-us/library/…(v=VS.85).aspx
e le reference di linux si trovano sparse un po dappertutto, una molto valida è la seguente:
linuxhowtos.org/C_C++/…
la distinzione tra programmare con i socket in C e in C++ è praticamente nulla, a patto di non utilizzare classi che incapsulano ed estendono i normali componenti delle API. Questo pone C++ ad un livello più alto di C ed elimina (nasconde) parte della complessità del sottosistema di rete.
in rete puoi reperire diverse classi di questo tipo, google ne è pieno:
google.it/…
spero di aver messo un po di ordine in tutto questo, per altri chiarimenti su codice in particolare non esistare a postare sul forum.
aaa