I recently used ICS for a project that communicates with a device via TCP
protocol.  The device sends a constant stream of packets, about 15/second,
which contain about 300 bytes of data.

I noticed that I was getting the data, but in "clumps".  Further investigation
concluded that the sender was waiting for an ACK before sending the next
packet.  When I used wireshark to look at how it communicated with another
device, I saw that the acks were immediate.  However, when I was using
twsocket, the acks were delayed by a few hundred milliseconds.

I did set the option to disable the Nagle algorithm (TCP_NODELAY), and it
works ok for sending data, but the acks are still delayed.

My temporary solution was to send a dummy message to the host immediately when
I received the packet.  This caused the ack to be pushed out with the dummy
packet, and it works correctly now.  But that's a band-aid fix.  How can I
make the program immediately ack a packet?


To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to