TCP vs UDP,哪个更简单?

TCP vs UDP, which is easier?

我对编程很陌生,尤其是网络。我可以制作基本的应用程序等,但现在我在玩网络。对于想要掌握和体验一些知识的初学者来说,UDP 和 TCP 中的哪一个更容易在基础层面上实施和维护?

它们都使用相同的通用接口发送数据。您将使用某种形式的发送功能。详细信息将取决于您使用的语言。

UDP 更容易开始试验,因为每个 UDP 发送都会导致发送一个数据包(不是真的,但逻辑上就是它所代表的)。这将使您可以进行如下实验:

客户

  1. 从用户那里获取消息
  2. 打开到服务器的套接字
  3. 通过 UDP 发送消息
  4. 关闭套接字

服务器

  1. 打开监听套接字
  2. 等待消息
  3. 收到来自客户端的消息
  4. 打印消息

使用上述客户端和服务器对多个客户端进行试验会非常简单。

如果数据完整性很重要(数据顺序很重要。丢失数据是个问题),那么您将要使用 TCP。 TCP 没有 "messages" 的概念,所以如果离散 "messages" 是你想要的东西,那么你需要将它构建到你发送的数据中

在这里或那里丢了一条消息可以吗?消息乱序不是问题吗? UDP 应该可以正常工作。

您需要深入了解协议详细信息以确定 UDP 或 TCP 是否适合您的应用程序。有许多关于 TCP 和 UDP 的详细信息远远超出了我上面给出的(非常)简短的描述。您至少需要了解其中的一部分,才能有效地决定哪一个适合您的应用程序。