Вот такой вопрос возник.
Допустим, есть буфер сданными 1024 байта и неблокируемый сокет.
Если при выполнении "send(socket, buf, 1024, MSG_DONTWAIT)" возвращается -1 и EAGAIN в errnum, то не совсем понятно сколько данных при этом отправляется, отправляется-ли вообще, и какие данные посылать в дальнейшем - этот-же буфер с размером 1024 байта или меньше?
Кроме того, интересует вопрос - может-ли команда send вернуть значение меньшее чем 1024 и что делать дальше в этом случае (я так понимаю, в следующий раз надо делать что-то типа "send(socket, (void *)(buf+sended_size), (1024 - sended_size), MSG_DONTWAIT)")?