У нас есть проект, который построен на двунаправленном GRP c клиент / сервер в C ++. Клиент устанавливает только одно соединение с сервером. На сервере будет несколько клиентов. С помощью команды «netstat» на стороне сервера отображаются несколько установленных подключений от одного и того же клиента, но клиент имеет только одно активное подключение к этому серверу за один раз.
Ниже приведен один пример:
на сервере сторона:
netstat -an | grep "port" | grep "clientip"
tcp6 0 0 serverip: указатель порта: 61501 УСТАНОВЛЕННЫЙ
tcp6 0 0 serverip: указатель порта : 60241 ESTABLISHED
tcp6 0 0 serverip: клиентская подсказка порта: 54173 ESTABLISHED
tcp6 0 0 serverip: клиентская подсказка порта: 48677 ESTABLISHED
tcp6 0 0 сервопривод: портовая клиентка УСТАНОВЛЕН
на стороне клиента:
netstat -an | grep "serverip"
tcp6 0 0 clientip: 53149 serverip: порт УСТАНОВЛЕН *
Это кажется что серверная сторона не может удалить устаревшие соединения. Следствием этого является то, что сервер может превысить максимальный лимит соединения, что вызовет другие проблемы.
Кто-нибудь видит те же симптомы? Есть ли какие-либо предложения с точки зрения управления соединением grp c?