Я пытаюсь прочитать длинное сообщение от клиента, а затем распечатать на сервере stdout
, но когда я запускаю код, длина данных, которые считываются с клиента, меняется почти каждый раз ...
Я также пытался использовать malloc
, но результат был таким же. Мне действительно интересно, почему ...
Клиентский код хорошо сделан, проблема, кажется, на стороне сервера.
Вот соответствующая часть кода:
char buf[MAX]; //MAX=1024;
memset(buf, '\0', sizeof(buf));
size_t b;
while ((b = read(connect_fd, buf, MAX - 1)) > 0) {
buf[b] = '\0';
printf("%s", buf);
flush(stdout);
write(coonect_fd, buf, strlen(buf));
memset(buf, '\0', MAX);
}