Это сильно зависит от того, как часто используется сокет.Например, если вы знаете, что клиент будет отправлять запрос на сервер каждые 50 миллисекунд, было бы проще просто держать сокет открытым.Но если вы знаете, что клиент будет запрашивать информацию из сокета каждые 5 минут, вероятно, лучше закрыть соединение и создать новое, когда это необходимо.То же самое, если вы не знаете, когда будет создан следующий запрос.
Создание нового сокета на стороне сервера не очень дорого, поэтому, вероятно, лучше просто закрыть соединение, если оно используется не очень часто.Исключением может быть специальный сокет, для создания которого требуются аутентификации или другие дорогостоящие вещи, но это, вероятно, не относится к школьному проекту.
В общем: это зависит от использования сокета, но есливы не уверены, используется ли он очень часто или нет, лучше закройте его и снова откройте, когда это необходимо.