В моей серверной программе я отключил конец сокета recv, чтобы отклонить входящие данные.
Иногда позже в коде я хочу проверить, закрыт ли мой конец recv или нет. Как я могу это проверить? Я не нашел ничего интересного в getsockopt.
Спасибо, Sandeep
Возможно, храня флаг рядом с тем местом, где вы храните сокет fd. Конечно, это будет более эффективно, чем создание дополнительных системных вызовов ...
Как насчет getsockopt(/*SO_CONNECT_TIME*/)? ... он вернет SOCKET_ERROR сокета не подключен ...
getsockopt(/*SO_CONNECT_TIME*/)
SOCKET_ERROR
Я предлагаю вам использовать closesocket () на сокете, чтобы убедиться, что он былдействительно закрыто и не только закрыто.