Итак, я думаю, это подтверждает впечатление Джерри.
Ответ 2
Я считаю, что они по сути идентичны. Причина, по которой они обеспечивают оба, заключается в предоставлении интерфейсов, подобных как iostreams (которые имеют член read_some), так и сокеты (которые имеют receive).
Как указал Питер Ценг, async_receive также имеет перегрузку, которая принимает socket_base::message_flags, которая async_read_some не делает.