Итак, у меня есть этот кусок кода, который будет просто прочитать сообщение от клиента и ответ с «да»C сервер странное поведение
while(strcmp(buffer, "QUIT") != 0){
bzero(buffer, 255); //cleans the read buffer
/*this reads the aux (request) from the client*/
recv(newsockfd, buffer, 255, 0);
if(strlen(buffer))
printf("Thread %d: %s\n", thread_no, buffer);
fflush(stdout);
write(newsockfd, "yup\n", 4);
}
Проблема в том, что в самом первом чтении все идет хорошо, но все остальные чтения испорчены, если я отправляю сообщение «гитара», например, он получает «g», петли, а затем получает «uitar», отправляя другую «yup».
У меня нет понятия, что происходит.
Что, по вашему мнению, предотвращает такое поведение в вашем коде? –