gpt4 book ai didi

c++ - 使用 async_write 同时写入不同的套接字

转载 作者:行者123 更新时间:2023-11-28 02:12:16 25 4
gpt4 key购买 nike

我想写服务器(TCP/IP),我有一些问题,因为我不确定我的想法是否正确。

我需要一台只有一个线程的服务器。我需要向某些客户端读取和写入数据。我想使用 boost::asio 中的 async_acceptasync_writeasync_read 等。

同时为不同的客户端调用 async_write 是否可以?如果我的程序为一个客户端调用 async_write 并且在调用处理程序之前它为另一个客户端调用 async_write 怎么办?

关于 async_read 的相同问题。

这不是问题吗?

是否保证(在这种情况下)第一个调用 async_write 的回调将在第二个 async_write 的回调之前被调用?

如果某些回调(处理程序)需要很长时间怎么办?其他回调只是在堆栈中等待直到这个回调完成?如果这个回调永远不会结束,另一个回调将永远不会被执行?我说得对吗?

最佳答案

对不同套接字的重叠异步读写调用没有问题。我建议您为每个连接分配自己的链,以便将来您决定添加 TLS 支持或使用多个线程时不会中断。可以以任何顺序调用完成处理程序,具体取决于操作实际完成的顺序。当然,您不能同时在同一个连接上进行两个异步读取操作或两个异步写入操作。

关于c++ - 使用 async_write 同时写入不同的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247131/

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