Как лучше всего передать int
через сокет в C?
Пока что я делаю:
int n = 4;
int tmp = htonl(n);
write(socket, &tmp, sizeof(tmp));
и
int tmp,n;
read(socket, &tmp, sizeof(tmp));
n = ntohl(tmp);
Однако полученное целое число иногда равно 0. Не всегда, но, скажем, 2 раза из 5. Это никогда не будет какое-то другое значение, всегда 0. Почему?
ОБНОВЛЕНИЕ: Возвращаемое значение при чтении равно -1, а ошибка:
Resource temporarily unavailable