gpt4 book ai didi

c++ - 重用 Asio 连接

转载 作者:可可西里 更新时间:2023-11-01 02:41:13 25 4
gpt4 key购买 nike

我正在从事一个项目,目前我有一个网络服务器。我必须添加功能,以便对于每个请求,我需要向其他服务器发送多个请求、获取响应并将结果发送回原始客户端。这些服务器的吞吐量很高,所以我开始担心套接字的数量以及设置新线程/套接字以通过多个套接字发送多个请求的速度。因此,我开始考虑对每个客户端开放一个(或几个)连接将有助于解决这个问题。我不确定持久连接和提升 ASIO 是如何工作的。我有一些问题:

-如何使用 ASIO tcp 套接字设置保持事件时间。

-我可以通过同一个套接字发送多个并发请求吗?我会遇到结果顺序的问题吗(每个结果都应该有一个 Id,所以我指的不是乱序发送的顺序,而是更多的数据包顺序,如果响应不止一个数据包,数据包的顺序会有问题吗?

如果这也很重要,所有请求都是 HTTP GET/POST 请求。

如能提供有关此主题的任何信息,我们将不胜感激。谢谢。

最佳答案

TCP套接字充当数据流,您在一端写入的数据将在另一端以相同的顺序接收。如果您的协议(protocol)可以处理,您可以通过同一个套接字发送多个请求。

您提到并发请求,因此您需要非常小心,不要交错两个不同请求的写入调用。如果您可以确保每个结果都是原子写入的,那么我认为使用套接字处理多个请求没有问题(您可以使用回复队列来做到这一点)。

可以设置标准套接字保活here .

关于c++ - 重用 Asio 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021988/

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