gpt4 book ai didi

python - 扭曲的 RPC 是否能保证按顺序到达?

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:00 25 4
gpt4 key购买 nike

我正在使用twisted来实现客户端和服务器。我已经在客户端和服务器之间设置了 RPC。因此,在客户端上,我执行了 protocol.REQUEST_UPDATE_STATS(stats) 操作,这意味着在客户端传输上使用 transport.write 发送消息,该消息是 的某种编码版本[“update_stats”,统计数据]。当服务器收到此消息时,将调用服务器协议(protocol)上的 dataReceived 函数,对其进行解码,并根据该消息调用一个函数,例如中的 CMD_UPDATE_STATS(stats)这个案例。

如果在客户端,我做了类似的事情:

protocol.REQUEST_UPDATE_STATS("stats1")
protocol.REQUEST_UPDATE_STATS("stats2")

...我能否保证 "stats1" 消息先于 "stats2" 消息到达服务器?

更新:为了更加清晰而进行了编辑。但现在答案似乎很明显 - 不可能。

最佳答案

它们将按照 Python 进程接收请求的顺序到达。这包括连接建立时间以及包含请求数据的数据包。因此,不,这不能保证是发送进程发送请求的顺序,因为网络延迟、丢弃的数据包、发送方数据包排队等。“按顺序”对于分布式系统也有松散的定义。

但是,是的,一般来说,只要它们间隔相对较长的时间(通过互联网传输数百毫秒),您就可以指望它们按顺序交付。

关于python - 扭曲的 RPC 是否能保证按顺序到达?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524384/

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