gpt4 book ai didi

c# - 发送相同的消息两次是针对 UDP 缺点的好策略吗?

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

我有名为服务器、客户端和客户端 2 的 c# 可执行文件,它们在同一个地址上相互发送消息。我通过它们到达的端口号来区分消息。

常规运行-1服务器启动客户加入、离开

第二轮服务器启动客户端 2 加入、离开

第三轮服务器启动客户加入client2 加入(问题来了),有时它得到服务器的回复,有时它只是挂起而服务器的回复没有到达。

我正在使用 UDPClient 阻止消息传输例程。

当前解决方案:我从服务器发送了两次相同的消息(希望至少第二次发送),因为它非常重要,而且我不会再丢失此消息。这种临时黑客可能会导致什么失败?

另外请告诉我我的问题是什么?不完整,我会提供更多详细信息。

最佳答案

简而言之,UDP 可靠。 UDP 的定义是无法告诉,更不用说保证数据包是否会到达目的地了。

如果这些消息与您引导的一样重要,我建议改用 TCP。这样,传输错误和失败会自动为您处理,您可以放心数据包将到达目的地。

至于黑客攻击的潜在失败,您必须处理消息的两个副本都到达的情况,并且不考虑两个副本都没有到达的情况。对我来说,在这种情况下尝试重新发明轮子(发送确认消息、超时重试、处理重复收据)是不值得的。只需使用 TCP。

关于c# - 发送相同的消息两次是针对 UDP 缺点的好策略吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816981/

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