Oppure

Loading
17/09/11 14:09
crybot
allora... conscio del fatto di non sapere nulla di networking in c++, qualcuno saprebbe consigliarmi una guida valida ed esplicativa sulla creazione di applicazioni client/server e sull'uso dei socket. ho fatto una ricerca sul sito, ma le uniche indicazioni che ho ottenuto sono state una guida al networking in C. su google ancora meno. sarei veramente grato a chiunque riesco ad indicarmi un valido aiuto in questo campo, grazie :)
aaa
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
17/09/11 14:56
crybot
grazie mille della risposta, adesso ho le idee molto piu` chiare. comunque intendo programmare solo sotto windows per adesso...

grazie ancora :D
aaa
17/09/11 23:09
lumo
Per i masochisti c'è anche boost.org/doc/libs/1_47_0/doc/html/…
ed eventualmente la versione "semplificata" boost.org/doc/libs/1_47_0/doc/html/boost_asio/overview/networking/…
Ultima modifica effettuata da lumo 17/09/11 23:12
aaa