c#


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?

Related Links

Caliburn Micro disable buttons which have no Property?
TeeChart - Rotating Multiline Annotation (Text) Tool gives wrong result
Unable to publish bot application from visual studio 2015
Foreach loop only reading the last item
Returning all entries in a C# list matching an int
Set GPO through Registry Value using C#
Can't connect to dotMemory API unless it launches the application
Sending to and receiving data from a server
Loading Images from resource to ListView
SharpDX 3 loading .DDS to apply onto a 3d model (C#)
I want a MaskedTextBox working like calculator
ViewDataDictionary vs anonymous object in ASP.net MVC 5
Attaching an entity of type '' failed because another entity has the same primary key value
Get Vuforia AR Camera Compass Direction
Array value that is either true or false for look up
ElasticSearch I can't find IndexParameters

Categories

HOME
gulp
jenkins-pipeline
snappy
display
azure-eventhub
window.open
gaussian
mingw
sugarcrm
flowtype
coding-style
select2
tmux
background-image
pylint
cucumberjs
civicrm
minimagick
git-branch
polybase
dev-c++
tcpdf
utc
stack-trace
uibarbuttonitem
bytebuffer
hierarchy
key-bindings
language-detection
spring-oauth2
offset
scip
ui-grid
redbean
aura-framework
head
anonymous-function
xmldom
easyquery
pyopenssl
visio-2010
multi-targeting
blackberry
fileopendialog
optional-parameters
dimensionality-reduction
kik
sqlxml
markerspiderfier
dynamics-nav-2013
matlab-engine
skscene
libgcrypt
notice
lytro
android-togglebutton
litedb
playn
eula
transparentproxy
cakephp-2.6
tidesdk
pymol
cordova-3
nsurlrequest
javacompiler
xts
drawable
webshim
object-oriented-database
nativequery
code-complete
kendo-window
caroufredsel
ia-32
phone-state-listener
configurationsection
teamsystem
google-email-audit-api
django-admin-tools
unordered-set
idtabs
yii-cactiverecord
automapper-2
vectorwise
peoplepicker
funambol
n2
lgpl
chars
subdirectories
dynamic-scope
html-help-workshop

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App