Ho cercato di ottenerlo per buona parte della giornata, sinceramente avrei apprezzato qualsiasi aiuto. Entrambe le mie app, il client e il server hanno iniziato a lanciare eccezioni "vector subscript out of range".Come si invia uno std :: vector <char> usando Boost :: Asio?
Come si fa questa cosa correttamente?
Ancora cercando di capirlo, qualcuno?
Per quanto mi undestand dovrei creare un
boost::asio::basic_stream_socket stream;
e quindi chiamare:
stream.send(boost::asio::buffer(data));
?
Suppongo che sia perfettamente possibile farlo in modo asincrono? Quali sono le differenze tra: basic_stream_socket::send()
rispetto a basic_stream_socket::write_some()
rispetto a basic_stream_socket::async_write_some()
?
basic_stream_socket::receive()
vs. baic_stream_socket::read_some()
vs. basic_stream_socket::async_read_some()
?
sto supponendo che send()
& sono metodi che posso chiamare quando voglio fare in modo che il 100% dei dati vengono inviati/ricevuti - a spese di bloccare la presa di corrente?
sto supponendo che write_some()
& read_some()
sono metodi che posso chiamare quando io non sono sicuro se il 100% dei dati viene inviato/ricevuto - pur continuando a bloccare la presa?
Suppongo che async_read_some()
& async_write_some()
siano metodi che non bloccano il socket e leggono/scrivono tutto ciò che possono?
puoi mostrare un po 'di codice? – Naveen
È necessario aggiungere ulteriori informazioni al corpo della domanda stessa o sotto forma di commenti anziché rispondere alla propria domanda con domande. Se è necessario configurare tutto da zero, fornire un contesto (ad esempio un socket TCP, una porta seriale RS-232, ecc.). –
Cancellato q "No, non ho - come faccio?" - Non so a cosa si applica, ma è meglio aggiornare la domanda (o lasciare commenti quando si ottiene una risposta sufficiente). –