Я хотел знать, как очищать потоки сокетов при программировании сокетов в C. Я перепробовал все опции - установка TCP_NODELAY
, используя следующий код -
setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int));
Примечание: все flag
и sockfd
объявлены правильно.
Я использовал эту функцию как до send(
), так и после send()
, но это не имело никакого значения.
Также кто-то предлагал использовать shutdown()
после каждого send()
, но это работает только для одного экземпляра. Когда я использую его для повторной отправки некоторого текста, это не работает - на самом деле соединение закрывается после того, как я использую shutdown()
.
shutdown(sockfd, SHUT_WR);
Может ли кто-нибудь помочь в этом отношении?
Я хотел добавить, что сервер - это сокет Java, а клиент - это сокет C. Сокет C реализует интерфейс JVMTI и отправляет информацию в сокет Java.