2010-02-10 9 views

Respuesta

17

Su especificación en los networking TR2 proposal (5.7.10.2 miembros basic_stream_socket) es idéntica también:

En async_receive:

Efectos: llamadas this-> service.async_receive (this-> ejecución, tampones, 0, manejador).

En async_read_some:

Efectos: Las llamadas this-> service.async_receive (this-> aplicación, tampones, 0, manejador).

Así que supongo que esto confirma la impresión de Jerry.

+0

La respuesta de Jerry es mejor. Da alguna razón 'por qué' esto puede ser así. – unixman83

22

Creo que los dos son esencialmente idénticos. La razón por la que proporcionan ambos es para proporcionar interfaces similares a ambos iostreams (que tienen un miembro read_some) y sockets (que tienen un receive).

Como señaló Peter Tseng, async_receive también tiene una sobrecarga que acepta socket_base::message_flags, que async_read_some no.

+1

Tiene sentido para mí. Así que supongo que debería "preferir" el que coincida con la interfaz con la que prefiere mantener la compatibilidad. –

+0

acepta async_receive socket_base :: message_flags vale la pena mencionar –

+0

@PeterTseng: Menciono que es por eso que acabo de votar (aparentemente, su edición) respuesta de Adrien Clerc ... :-) –

Cuestiones relacionadas