我已经创建了我的client-server
应用程序,但整个过程仍然有些混乱。是什么packets
?packet
以及发送 a和发送 a 有什么区别message
(就像我通常做的那样)。
所以请,我期待一个很好的解释:
- 是什么
packets
? - 如何构建它们?
- 如何在我的
client-server
应用程序中使用它们进行通信?
对于发送者和更高级别的数据包等同于消息,您发送数据包或消息。在接收端,一条消息可能被分成多个数据包。这种拆分最常见的是使用 TCP 连接,您可能需要执行多个接收调用(每个都返回一个“数据包”)才能接收完整的消息。
更令人困惑的是,在较低级别上,单个 TCP 或 UDP 消息(带有附加到数据的 TCP/IP 标头)也可以称为数据包。在更低的层次上,以太网帧也可以称为数据包。
更令人困惑的是,TCP 连接没有真正的消息概念,它只是一个字节流。消息只是 TCP 之上的一个人为概念。另一方面,UDP 是不同的消息。
简而言之,在提及您发送或接收的数据时,继续使用“消息”一词可能是最简单的。