dati possono essere letti o scritti in un socket TCP collegato mediante ricezione(), async_receive(), invio() o funzioni membro async_send(). Tuttavia, poiché questi potrebbero provocare brevi scrive o legge, un'applicazione si utilizzano in genere le seguenti operazioni invece: read(), async_read(), write() e async_write().Le funzioni di ricezione/invio del socket di boost.asio sono sbagliate?
Non ho davvero capito che le note come read(), async_read(), write() e async_write() possono anche finire in brevi scritture o letture, giusto?
Perché queste funzioni non sono le stesse?
Devo usarli affatto?
Qualcuno può chiarire quell'osservazione per me?
Perché è stato progettato in questo modo? In tal caso non è necessario ricevere tutti i byte richiesti? Perché l'oggetto socket non include read/write/async_read/async_write? Comunque stai passando una presa. –
Non so perché, ma è possibile trovare la risposta nella "Proposta di libreria di rete per TR2". http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2054.pdf – Dan
Per quanto riguarda il documento precedentemente collegato, guarda a pagina 8. – Dan