Pergunta

Qual é a diferença entre chamar funções membro boost::asio::ip::tcp::socket / read_some de write_some e chamando o boost::asio::read / boost::asio::write funções livre?

Mais especificamente:

Há algum benefício de usar um sobre o outro?

Por que ambos incluídos na biblioteca?

Foi útil?

Solução

read_some e write_some pode retornar assim que mesmo um único byte foi transferido. Como tal, você precisa de loop se você quiser ter certeza de obter todos os dados - mas isso pode ser o que quiser

.

As funções livres são invólucros em torno read_some e write_some, e têm condições de rescisão diferentes, dependendo da sobrecarga. Tipicamente eles esperam para o tampão a ser totalmente transferido (ou um erro de ocorrer, ou em alguns sobrecargas uma condição explícita para conclusão ocorrer)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top