В настоящее время я пишу простую клиентскую и серверную программу для Windows и Unix.На данный момент я просто хотел создать простой клиент и сервер, чтобы сервер передавал сообщение клиенту.Я получил это для работы в среде Windows, но у меня есть очень странная проблема для среды Unix.Кажется, что после получения сообщения сервер распечатывает это, но затем застревает.Он не будет пытаться отправить сообщение обратно клиенту или даже распечатать другую вещь после него.Я прикрепил бесконечный цикл, который я использую для сервера.Я использовал тот же код для версии Windows, и он, кажется, работает на 100%, поэтому я понятия не имею, почему это не так.
Ps Это мой первый пост, так что извините, если я что-то пропустил.Я также использую Cygwin для запуска своего кода Unix, если это поможет.
Заранее спасибо.
for(;;)
{
char buf[1024];
int cc = recv(newsockfd, buf, sizeof(buf), 0);
if (cc == 0)
{
exit(0);
}
buf[cc] = NULL;
printf("message received: %s\n", buf);
printf("This Never Prints!");
send(newsockfd, buf, cc, 0 );
memset(&buf, '\0', sizeof(buf));
}