Originariamente inviato da billiejoex
Più che altro mi pare strano (non conosco C++) che in C e C++ si cerchi praticamente sempre di lavorare con il socket a basso livello azichè utilizzare frameworks (sincroni / asincroni, non importa) al cui interno siano gia implementati tutti gli aspetti necessari per non curarsi di cosa 'sta sotto' e concentrarsi unicamente sull'applicazione.
Scrivere codice di rete esente da bug non è cosa banale, senza contare che reinventare la ruota (quasi sempre sbilenca) ogni volta incide negativamente sulla qualità del codice, imo.
Le cosiddette "guide sui socket", select, poll e quant'altro dovrebbero servire unicamente a chi intende sviluppare frameworks, non agli 'end user' che vogliono fare un client FTP o una semplice applicazione di messaggistica.
Non so se mi sono spiegato...
Soltanto la 'send', ad esempio, può ritornare decine di errori diversi (i più ricorrenti: ECONNRESET, ENOTCONN, ESHUTDOWN) a seconda delle situazioni. Basta vedere le varie man pages di send, accept, recv e compagnia bella per renderesi conto di quanto sia complesso l'argomento sockets.
Io sono sicuro che la maggior parte dei programmi di rete proposti in questo forum, implementati lavorando coi socket 'grezzi', siano un agglomerato di bug senza senso.
Non mi metto poi a parlare di come tutto sarebbe immensamente più semplice utilizzando altri linguaggi altrimenti va a finire inevitabilmente in un flame e alka mi si incazza.
Scusate mi inserisco di OT per chiedervi cosa si intende per framework. Mi spiego: dovrei fare un applicazione C che dialoghi in rete (IP). Ora, da quel che mi è parso di capire, i framework dovrebbero essere un "qualcosa" che eviterebbe di scrivere un socket da capo (la famosa ruota da non re-inventare ). Quello che non ho ben compreso è come si aggiungono questi framework al mio compilatore (Devcpp)..sono delle dll? bisogna installarli come pacchetti? quali sono i framework che facilitano il "dialogo" su IP?

Grazie delle risposte!

Saluti!!