I have a C++ application which receives stock data and forward to another application via socket (acting as a server).
Actually the WSASend
function returns with error code 10055 after small seconds and I found that is the error message
"No buffer space available. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full".
The problem arises only when I run the application after the market hours as we are receiving the whole day data (approximately 130 MB) in few minutes (I assume this is relatively large) I am doing so as a robustness test.
I tried to increase the sending buffer SO_SNDBUF using setsockopt
function but the same problem still there.
How can I solve this problem? is this related to receiver buffer?
Sending details:
For each complete message I call the send method which uses overlapped sockets
EDIT: Can someone give general guidelines to handle high frequency data in C++?