gpt4 book ai didi

sockets - 使用 Boost.Asio 可以同时运行哪些套接字发送/接收操作

转载 作者:可可西里 更新时间:2023-11-01 02:39:28 26 4
gpt4 key购买 nike

我知道可以在 TCP 和 UDP 套接字上同时运行 async_send 和 async_receive 操作。但是在这些情况下预期的行为是什么:

  1. 在 UDP 套接字上同时调用两个 async_send 操作。
  2. 在 UDP 套接字上同时调用两个 async_receive 操作。
  3. 在 TCP 套接字上同时调用两个 async_send 操作。
  4. 在 TCP 套接字上同时调用两个 async_receive 操作。

我主要对第一种情况感兴趣;因为 UDP 不一定保留发送数据包的顺序,所以我不太关心它们的发送顺序是否与调用 async_send 的顺序不同。

最佳答案

如果没有 Boost ASIO,同样的事情会发生:

calling two async_send operations concurrently on an UDP socket.

两个数据报都将被发送。

calling two async_receive operations concurrently on an UDP socket.

哪个操作将接收下一个数据报是任意的,但两个操作都会正常运行。

calling two async_send operations concurrently on a TCP socket.

数据可能会不可预测地交错。

calling two async_receive operations concurrently on a TCP socket.

数据可能会不可预测地交错。

关于sockets - 使用 Boost.Asio 可以同时运行哪些套接字发送/接收操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com