Если это всего лишь один клиент, то вы должны оставить сокет открытым, но быть готовым к повторному подключению в случае ошибки (например, пользователь мог сбросить сетевые интерфейсы, поэтому подключение не гарантируется, что оно будет живым).Если у вас много клиентов, используйте отключение по истечении определенного времени бездействия.Это позволит вам избавиться от неактивных, зависших или «потерянных» (тех, которые прошли, но не было сигнала о закрытии сокетов от них) клиентов.