On Thu, Nov 15, 2012 at 10:56 AM, greeka <gre...@gmail.com> wrote: > I have TCP server written in NodeJS and clients on flash. The communications > between clients and server builded ower my own protocol (small commands - > max 50 bytes per command). But some time (aprox 10% from total commands sent > from server to client) we lost the data. And I can't understand why and > can't understand the relationship of what is happening. Some time it's > happens right after connections to client, some time after a couple minutes > after connect. Some time all ok. No any disconnects or error. > So my questions: > - how to be 100% sure that all data is delivered to client (by NodeJS side)?
By having the client send an ACK upon receipt, i.e. have it send a "I have received your message #22" reply to the server. If you don't receive the reply in a timely fashion, assume the connection has timed out. TCP connections eventually timeout by themselves but that can take a long time, on the order of hours. > - if previous is impossible, how to check that my command is delivered? > > How to understand and when to use: > > socket.setTimeout(timeout, [callback]) > socket.setNoDelay([noDelay]) > socket.setKeepAlive([enable], [initialDelay]) > > > Could these methods help me? > > P.s. It's our dev server with couple of clients. The network is stable, ping > 100%. > Sorry for my English. -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en