with tcpnodelay=true, 2 writeInts will be 8 (!!) frames as DataOutputStream does 4 write(byte)s per int.
sure??, very strange, I was thinking that the underlying layers was doing some kind of buffering/wait even with tcpnodelay=true.
I mean if you write two byte, the second byte will be write before the first one has been sended even with a network of 100Mb/s , no?
tcpnodelay does not mean byte per byte, but rather as soon as possible. I think
EDIT: I mean tcpnodelay was added to only avoid problem with very small packet sended with a small delay between them , but with nearly nodelay I think the underlying layer do the job?
EDIT2: I will get some time to make a verification on this point using Wireshark, and will let you know about results