Pregunta

¿Cuál es la diferencia entre llamar a las funciones miembro de boost :: asio :: ip :: tcp :: socket read_some / write_some y llamando a las funciones gratuitas boost :: asio :: read / boost :: asio :: write ?

Más específicamente:

¿Hay algún beneficio en usar uno sobre el otro?

¿Por qué ambos están incluidos en la biblioteca?

¿Fue útil?

Solución

read_some y write_some pueden regresar tan pronto como se haya transferido un solo byte. Como tal, debe realizar un bucle si desea asegurarse de obtener todos los datos, pero esto puede ser lo que desea.

Las funciones libres son envoltorios alrededor de read_some y write_some, y tienen diferentes condiciones de terminación dependiendo de la sobrecarga. Por lo general, esperan que el búfer se transfiera por completo (o que ocurra un error o, en algunas sobrecargas, se produzca una condición de finalización explícita)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top