Проблема такая: есть сервер написанный на ноде. Сервер открывает TCP сокет: порт и начинает его слушать (Подчеркиваю — не HTTP, обычный TCP сокет). К этому сокету подключаются клиенты (флешовые) и что-то слушают. Специфика работы сервера такова, что клиенты ему практически ничего не шлют, а шлет только сервер. Клиент шлет только команду авторизации при подключении. Сервер же посылает при необходимости клиенту команды. Так вот, довольно часто, примерно в 10% случаев данные от сервера клиенту не доходят. Причем зависимость определить не удается. Иногда может случится так, что сразу после авторизации данные не дойдут, иногда после некоторого промежутка времени. Причем соединение не отпадает и при следующей отсылке данных все доходит нормально.
Так вот вопросы:
— что сделать, чтоб гарантированно быть уверенным в том, что данные доходят?
— если первое не возможно, то как отследить на сервере, что данные дошли до клиента не прибегая к эхо ответам от клиента?
— что за метод socket.pipe(socket) в примере на главной сайта nodejs.org? В доке его не нашел но может он как-то поможет.
Если кто-то сталкивался с подобной ситуацией или хорошо знает работу пакета NET (
nodejs.org/api/net.html) — помогите решением проблемы.
P.s. Сервер DEV совсем не нагружен. Только разработчики. Списывали на лаги сети, но 10% случаев это чересчур, учитывая что пинги ходят нормально.