Now that I have solved the problem from my previous issue, I'd like some information or explanation regarding the workings of the Socket on the TCP protocol. I'm aware that the Sockets implement the Naggle algorithm to prevent the network from beeing flooded
by small network packages. However, I'm encountering a strange issue in my client - server architecture:
When I click on the GUI to send out a command to my server, the server reports the data as beeing received, but the reply is not always send back immediatly. Sometimes I need to click the button twice before the reply actually comes back. When I debug the
applications and step through everything slow enough, the command is send back on the first time, but when running in release mode the reply is not always send back the first time.
I've disabled the Nagle algorithm, but I still notice that really short commands still get grouped together in a single "message" from the socket. How can I force the socket to immediatly start pumping the data over the network as soon as I've
finished writing the data in the socket send buffer ?
View Complete Post