我有一个 EventMachine 服务器将 TCP 数据发送到 Mac 客户端(通过 GCDAsyncSocket)。它总是在一段时间内完美无缺,但不可避免地服务器会突然停止逐个连接地发送数据。连接仍然保持,服务器仍然从客户端接收数据,但它并没有反过来。
发生这种情况时,我通过 connection#get_outbound_data_size 发现连接发送缓冲区正在无限填充(通过#send_data)并且没有发送到客户端。
是否有可能发生这种情况的具体(并且希望可以解决)原因?反应堆一直在嗡嗡作响,与服务器的其他活动连接继续正常工作(尽管它们有时也会陷入缓冲地狱)。