sockets - 先发送 UDP 消息再发送 TCP 消息有什么好处吗?

标签 sockets networking tcp udp real-time

我有一个应用程序可以通过 LAN 与其他客户端进行实时通信。该应用程序要求数据包有序且全部到达。它还需要尽可能快的传输,我在这件事上似乎对 TCP 有一些问题。

所以我在考虑这个,作为一个没有经验的网络程序员,如果我先发送一个 UDP 协议(protocol)消息,然后用 TCP 发送相同的数据会怎样。如果 UDP 消息到达,我会尽快收到它,否则我仍然有 TCP 消息,确保我至少能收到数据包。显然,我会通过为每条消息提供一个 ID 或类似信息来确保我不会读取相同的数据两次。

这是什么好方法吗?我在想,也许同时发送 tcpmessage 只会减慢 udp 消息的速度,所以它无论如何都不会有所作为。

最佳答案

不,这不是一个好方法。

您正在将网络带宽加倍,并显着增加网络代码的复杂性,但 yield 微乎其微。

TCP 和 UDP 具有非常不同的特性。如果您关心及时到达的数据,如果数据迟到则没有用,那么 TCP 就没有用,因此您应该使用并且只使用 UDP。如果您不关心数据是否及时到达,那么 UDP 就没有用,因为它不可靠。

关于sockets - 先发送 UDP 消息再发送 TCP 消息有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235511/

相关文章:

C++通过套接字将压缩的html发送到浏览器

sockets - ip分段有多糟糕

ruby - 在 Ruby 中构建 UDP 数据报

java - 多次运行 Runnable Thead (Android)

c++ - 在发送数据之前压缩数据 - 控制字符?

javascript - Node.js TCP 服务器,用于评估和打印数据

c# - 发送广播包问题

c++ - 在 mac osx 中避免 SIGPIPE - reg

python - 使用 Python 将我的 Windows 计算机关联到 wifi AP

c - 将指针传递给新线程的堆栈变量 - 这段代码安全吗?