У меня возникла проблема, когда вызов системного вызова recv() не блокируется. У меня есть настройка структуры клиент-сервер в настоящий момент, и проблема, с которой я сталкиваюсь, - это отправить одно сообщение на сервер, а сервер настроен так, что это что-то вроде:
while (1) {
char buf[1024];
recv(fd, buf, sizeof(buf), flags);
processMsg(buf);
}
Он получает первое сообщение правильно, но recv() не блокирует и не принимает данные мусора, что не является желательным. Я хотел бы реагировать на сообщения только тогда, когда они отправляются. Может ли кто-нибудь посоветовать?