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.
é vero! xò c'è anche da dire che io desidero imparare come funziona la gestione delle connessioni. Qualche libreria bella e pronta semplificherebbe molto il lavoro!