我知道可以在TCP和UDP套接字上同时运行async_send和async_receive操作。但是在这些情况下的预期行为是什么:
我主要对第一种情况感兴趣;因为UDP不一定保留发送数据包的顺序,所以如果它们的顺序与调用async_send的顺序不同,我并不在意。
答案 0 :(得分:3)
如果没有Boost ASIO,就会发生同样的事情:
在UDP套接字上同时调用两个async_send操作。
两个数据报都将被发送。
在UDP套接字上同时调用两个async_receive操作。
任意操作将接收下一个数据报,但两个操作都将正常运行。
在TCP套接字上同时调用两个async_send操作。
数据可能无法预测地交错。
在TCP套接字上同时调用两个async_receive操作。
数据可能无法预测地交错。