项目制作-HgUDP.md

  1. 项目规划
  2. 关键的回调函数
  3. 需要解决的问题

项目规划

开发平台无关,可选择可靠机制的基于UDP的HgUDP协议

T1:初期没有必要100%可靠,因为100%可靠为什么不去用TCP?

T2:想在HgUDP协议中解决粘包问题,用于发送接收小包,需要根据UDP的数据载量决定小包的大小

T3:不打算实现拥塞控制,只实现流量控制

T4:2021年4月11日22:35:12 不用实现超时重传这种长时间的操作,因为协议将会用在要求低延迟的环境,如果发生了0.2S超时重发,即使重发成功时间也太久了。

关键的回调函数

提供的函数

  • 项目中的发送函数(用于发送数据 将数据交付给HgUDP协议)

需要用户注册的函数

  • 注册的回调函数(新的数据包到来)
  • 系统提供的发送回调函数
  • 系统提供的接收回调函数

需要解决的问题

  1. UDP本身的可靠率?

    2021年4月11日22:31:48 低流量时10%的丢包率

  2. 失去了拥塞控制对可靠率的影响如何?

  3. 如何选取合适的测试环境?

  • 使用阿里云服务器仅5Mbps可以轻易跑满

  • 使用宿舍的主机1000Mbps可以测试大流量

  1. 提供哪些组件?
  • 包ID 确认包ID
  • 包大小?UDP本身就是有包大小,而且不存在粘包
  • 当前的接收窗口大小
  1. 是否最终真的优于TCP?如何测试TCP和UDP的差别?
  • 主要是延迟?省去了三次握手 四次挥手等操作

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。