I redid this post because my choice of name was terrible, sorry for that. My new message can be found here: After sending a large amount, my call to send () causes my program to stop completely. How is this possible?
Thanks to everyone. The problem was that the clients are actually bots and they never read from the connections. (Feeling stupid)
TCP_NODELAYthe latency of small packets from sender to recipient can help, but the description you provided in different directions. I can imagine the following:
TCP_NODELAY
SO_SNDBUF
send(2)
recv(2)
There are probably other explanations, but it's hard to say without seeing the code.
send() TCP, , , , , , . , recv() .
send()
recv()
Nagle " ", . , - .
.
, . - .
, , 23- , . , , .
If this is really the culprit, the solution would be some asynchronous communication, such as the Boost Asio library.