gpt4 book ai didi

sockets - 是否可以使用 TCP 或 UDP 中继 UDP 或 TCP 数据;即混合协议(protocol)?

转载 作者:行者123 更新时间:2023-12-03 11:58:42 25 4
gpt4 key购买 nike

UDP 和 TCP 数据的 header 不同。我有一个用例,我想在其中传输 RTP 媒体流。首选是 UDP,然后是 TCP。
现在假设 RTP 数据包被接收到本地 UDP 端口。
这台本地机器首先尝试使用 UDP 与服务器建立连接。如果成功,则无需进一步查询。
但如果 UDP 不可行,那么我们建立 TCP 连接。 我可以在 TCP 上中继本地 UDP 端口的数据吗? 假设它最终将被馈送到对等 UDP 端口。我们的兴趣只是为了传达它。
反之切换 UDP 端口和 TCP 连接。这也可能吗?

最佳答案

当然,您可以创建一个显式中继应用程序,它接受 UDP 数据并在 TCP 连接中转发这些数据。然后对等体中的另一个中继从 TCP 连接中提取消息并将其作为 UDP 转发。这样你基本上就创建了一个隧道。
或者您可以更改您的应用程序,以便它检测到 UDP 不起作用并直接使用 TCP,而不涉及任何类型的中继。就开销和所需的基础架构而言,这可能是更好的方法。但是,这必须明确编码到您的应用程序中,即发送者和接收者都需要不同的套接字,并且根据协议(protocol),您可能需要额外的消息封装,因为 TCP 只是一个没有消息边界的字节流,而 UDP 具有内置消息。至于 RTP:当在 TCP 等协议(protocol)上使用 RTP 消息时,已经有一个标准,参见 RFC 4571 .

关于sockets - 是否可以使用 TCP 或 UDP 中继 UDP 或 TCP 数据;即混合协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021573/

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