我发现是的,你可以在同
一个套接字上有
一个挂起的async_read和
一个挂起的async_write而没有问题.当您
调用io_service :: run()
方法时,回调将按预期完成.
在同一个套接字上发出多个async_reads,或在同一个套接字上发出多个async_writes,可能会导致意外行为,具体取决于所涉及的套接字类型.特别是,在同一个TCP套接字上使用多个async_writes会导致数据以与您原先预期不同的顺序发出,并且数据发送的混合.在UDP中,它可能更合理,但我仍然建议反对它.