У меня есть сервер EventMachine, отправляющий данные TCP на клиент Mac (через GCDAsyncSocket). Какое-то время он всегда работает безупречно, но сервер неизбежно внезапно прекращает отправку данных по каждому соединению. Соединение все еще поддерживается, и сервер все еще получает данные от клиента, но это не идет другим путем.
Когда это происходит, я обнаружил через соединение # get_outbound_data_size, что буфер отправки соединения заполняется бесконечно (через #send_data) и не отправляется клиенту.
Существуют ли конкретные (и, надеюсь, исправимые) причины, по которым это может произойти? Реактор продолжает гудеть, и другие активные соединения с сервером продолжают работать нормально (хотя иногда они также попадают в буферный ад).