您不应直接发送TCP ACK消息 - 操作系统会以低级别处理这些消息。我按照可能性的顺序看下面的内容:
- 接收器上有一些简单的优化吗?您可以比接收器处理数据更快地填充网络管道的情况非常罕见。确保接收器至少有两个线程:网络I / O线程和工作线程。
- 如果接收器开始恐慌,它可能会向服务器发送一个油门消息,这会使服务器冷却,直到接收器赶上。这比在每条消息之后等待ack消息更有效,但它要求接收方知道何时关于落后,这可能很困难。
- 或者,最慢但最可靠的事情是让接收方确认来自服务器的每条消息,有点像你提到的那样。这不是TCP ACK,而是发送方/接收方用于通信的数据格式的特殊消息。