Поддерживается ли опция сокета SO_KEEPALIVE для доменных сокетов unix (семейство сокетов AF_ UNIX)? - PullRequest
0 голосов
/ 15 января 2020

В нашей программе связь происходит через unix доменный сокет. Когда сокет создан, мы включаем опцию сокета SO_KEEPALIVE на сокете. Вызов setsockopt() успешен, но вывод netstats не так. Вывод выглядит следующим образом.

tcp 0 0 nemo: diamServ nemo: 15388 УСТАНОВЛЕНО 19997 / имя_процесса keepalive (7221.16 / 0/0)

unix 3 [] СОЕДИНЕННЫЙ СТРИМ 228473 19997 / имя_процесса /tmp/uds1.socket

В приведенном выше выводе мы видим, что ключевое слово keepalive для сокета tcp, но для сокета unix этого ключевого слова отсутствует. Мы не уверены, включен ли keepalive для сокета unix или нет?

Обратите внимание, что diamServ - это имя службы, соответствующее порту, используемому для сокета tcp. и / tmp / uds1.socket - это unix сгенерированный файл сокета.

...