UdpClient 和 TcpClient 有什么区别?从软件架构的角度来看,什么时候应该使用 Tcp 什么时候使用 Udp?我希望我解释正确..
最佳答案
TCP 与 UDP 比较 - 使用
- TCP 用于非时间关键型应用程序。
- UDP 用于需要快速传输数据的游戏或应用程序。 UDP 的无状态特性对于响应来自大量客户端的小查询的服务器也很有用。
TCP 与 UDP 比较 - 功能
- 当一条消息通过互联网从一台计算机传送到另一台计算机时。这是基于连接的。
- UDP 也是一种用于消息传输或传输的协议(protocol)。这不是基于连接的,这意味着一个程序可以向另一个程序发送大量数据包,这将结束关系。
TCP 与 UDP 比较 - 首字母缩略词
- 传输控制协议(protocol)
- 用户数据报协议(protocol)或通用数据报协议(protocol)
TCP 与 UDP 比较 - 权重
- TCP 需要三个数据包来建立套接字连接,然后才能发送任何用户数据。 TCP 处理可靠性和拥塞控制。
- UDP 是轻量级的。没有消息排序,没有跟踪连接等。它是在 IP 之上设计的一个小型传输层。
TCP 与 UDP 比较 - 数据流
- 数据以字节流形式读取,没有区别指示被传输到信号消息(段)边界。
- 数据包是单独发送的,只有在它们到达时才会检查完整性。数据包具有明确的边界,在接收时会遵守这些边界,这意味着在接收方套接字上的读取操作将产生完整的消息,就像它最初发送的那样。
TCP 与 UDP 比较 - 传输速度
- 与 UDP 相比,TCP 的速度较慢。
- UDP 更快,因为没有对数据包进行错误检查。
TCP 与 UDP 比较 - 示例
- HTTP、HTTPs、FTP、SMTP Telnet 等...
- DNS、DHCP、TFTP、SNMP、RIP、VOIP 等...
TCP 与 UDP 比较 - 数据可靠性
- 绝对保证传输的数据保持完整,并按照发送时的相同顺序到达。
- 不保证发送的消息或数据包一定会到达。
TCP 与 UDP 比较 - 连接可靠
- 双向连接可靠
- 单向连接可靠
TCP 与 UDP 比较 - 排序
- TCP 按照指定的顺序重新排列数据包。
- UDP 不对数据包进行排序。如果需要排序,则必须由应用层管理。
TCP 与 UDP 比较 - 错误检查
- TCP 进行错误检查
- UDP 没有错误检查选项。
TCP 与 UDP 比较 - header 大小
- TCP header 大小为 20 字节
- UDP header 大小为 8 个字节。
关于c# - UdpClient 与 TcpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594180/