How to reduce the number of TCP ACK's during a highly reliable bulk transfer
I've got an application where two computers are in very close distance - typically within a few feet of one another. I've got a TCP connection between applications on the two computers. The server was written in C on Linux, the client on Windows using C# with TCPClient. Over this socket I'm transferring very large payloads, often gigabytes at a time. When I use Wireshark to monitor the communication I notice that about 66% of the packets transmitted are ACK's. Each of the payload packets tends to be about 5k. So the percentage of data in ACK's is very low, just a percent or two. Should I be concerned with the number of ACK's? I'm not concerned with packet loss, I expect the connection to be of high quality in terms of packet loss. Is there anything I can (or should?) do to reduce the number of ACK's?
What you're probably seeing is the receiver acknowledging the sender's transmissions. The receiver has to use ACK-only packets, as it doesn't have anything else to send (the sender also sends ACKs - every TCP packet contains an ACK). I don't think you should be bothered by the number of ACKs - the sender isn't waiting for them if its window size is large enough. The question you should ask yourself is - am I getting the throughput I should be getting on my LAN speed?
How to prompt to open a file in c# asp.net mvc
Find address using pointer and offset C# [closed]
WPF Flow Document Layout
C# type arguments cannot be inferred from usage in Select with multiple returns
Developing Metro Apps using Visual Studio 2010?
transfer of C struct to C# struct by soket API
Object Size in SOS Debugging C#.Net
c# Registry to XML Invalid character issue
What is the best practice for ensuring permissions are correct during the launch of an ASP.NET application
Deploy Outlook 2010 Addin setup
Filtering LINQ results in ASP.NET Web Forms with pagination
What library for c# to use for the graphs of a Roundness-meter software?
C# MVC Linq subquery The entity or complex type 'XXX' cannot be constructed in a LINQ to Entities query
deciphering WebResponse string into list of arrays
C# Win Form Spell Checker .Net 3.5