我正在尝试在 golang 中实现 Reliable-UDP。
我需要实现的基本功能之一是数据包重传。
天真的方法如下:
- 发送数据包;
- 创建一个计时器(也将创建一个新的 goroutine)来检查是否在计时器触发之前收到了 ACK。
这很简单,但是创建很多 goroutine 并不是免费的。而且我不认为 TCP 中数据包重传的实现使用这种方法。
那么,有没有办法在不创建新 goroutine 的情况下回调函数?
我已经检查了 golang-nuts 的帖子(https://groups.google.com/forum/#!topic/golang-nuts/ja8j7wQUB-0),但仍然无法找到解决方案。