【发布时间】:2012-02-09 18:54:27
【问题描述】:
我有一个 EventMachine 服务器将 TCP 数据向下发送到 Mac 客户端(通过 GCDAsyncSocket)。它总是在一段时间内完美无缺,但不可避免地服务器会突然停止逐个连接地发送数据。连接仍然保持,服务器仍然从客户端接收数据,但它并没有走反方向。
当这种情况发生时,我通过 connection#get_outbound_data_size 发现连接发送缓冲区被无限填满(通过 #send_data)并且没有被发送到客户端。
是否有可能发生这种情况的具体(并且希望可以解决)原因?反应堆一直在嗡嗡作响,与服务器的其他活动连接继续正常工作(尽管它们有时也会陷入缓冲区地狱)。
【问题讨论】:
标签: cocoa tcp eventmachine cocoaasyncsocket gcdasyncsocket