【问题标题】:What is better, TCP-IP or UDP? [closed]TCP-IP 还是 UDP 哪个更好? [关闭]
【发布时间】:2014-12-07 03:57:21
【问题描述】:

我想用 Java 为 Blender 渲染引擎编写我自己的渲染农场工具。 但是知道我想知道这样做更好:TCP-IP 还是 UDP?

谢谢

【问题讨论】:

    标签: java network-programming blender


    【解决方案1】:

    我假设您希望渲染农场具有可靠性,因此发送给用户的数据包含他或她期望的确切质量,不会因为数据包丢失而发生任何奇怪的事情。您绝对不希望帧被跳过或草率。所以我认为 TCP-IP 是更好的选择。

    另见:

    When is it appropriate to use UDP instead of TCP?

    http://www.cyberciti.biz/faq/key-differences-between-tcp-and-udp-protocols/

    【讨论】:

      【解决方案2】:

      TCP/IP 是参考模型,而 UDP 是此参考模型中的协议。所以,基本上你不能比较这两者。因为,IP 是该模型中的另一个协议,在网络层,我认为您的意思是比较 TCP 和 UDP,因为它们都属于同一层,即传输层。

      哪种协议更好,取决于您想要做什么。对于某些要求,TCP 更好,对于某些要求,UDP。

      TCP 是一种缓慢但可靠(确保数据被传递)和面向连接的协议,而 UDP 是一种快速但不可靠且无连接的协议。

      当您需要可靠地传递数据时(例如下载应用程序),应该使用 TCP。如果您需要在大多数情况下传输数据(如声音或视频聊天),则应使用 UDP。在大多数情况下,我们的意思是在发送数千个小数据单元时,如果我们错过了其中的几个,我们可以进行管理。

      我希望,现在您可以决定为您的工作选择哪种协议。

      【讨论】:

        【解决方案3】:

        这取决于您要使用的应用程序类型。请注意,TCP 和 UDP 是传输层协议,请勿将其与网络层协议 (IP) 混淆。

        TCP 协议: 它是一个面向连接的流协议。它是重量级的,因为它为连接建立进行了 3 次握手,网络拥塞的流量控制,纠错的重传,并确保了有序的数据包传递。

        您可以为以下应用选择 TCP:

        • 可以接受延迟但不能在数据包丢失或数据包排序方面妥协的应用程序。 (即,它适用于对延迟不敏感的应用和可靠的数据包传输应用。)

        使用 TCP 的应用程序示例:

        • FTP
        • HTTP

        UDP 协议: 它是一种基于消息的无连接协议。它是轻量级的,因为它没有用于连接建立的握手机制或用于拥塞或重传机制的流量控制。此外,它需要担心消息的顺序。

        您可以为以下应用选择 UDP:

        • 可以容忍数据包丢失或无序数据包传递但不能在延迟或抖动方面妥协的应用程序。 (即适用于实时应用和不担心丢包的应用)
        • 进行多播的应用程序
        • 执行小型事务的应用程序(示例 - DNS 查找、心跳/路径监控通信消息、日志记录)

        使用 UDP 的应用程序示例:

        • 网络电话
        • DHCP

        【讨论】:

        • 抱歉混淆了。但是我看到一本书的标题是“java中的TCP/IP套接字”所以我认为它是协议的名称..
        猜你喜欢
        • 2021-06-09
        • 2010-10-12
        • 2011-03-05
        • 2011-10-22
        • 2012-06-20
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        相关资源
        最近更新 更多