За исключением сокетов прослушивания, которые используются для многих приемов, сокеты данных не могут быть повторно подключены и повторно использованы. На стороне клиента необходимо создать новый сокет для нового соединения, а на стороне сервера необходимо сделать новое принятие. Старые сокеты также должны быть закрыты, чтобы вывести их из ядра.
Это создает трудности, потому что сервер не будет автоматически знать, какой клиент повторно подключается и какие действия более высокого уровня следует перезапустить. Это должно быть встроено в протокол, который вы реализуете поверх соединения. В HTTP, например, каждый GET / PUT / POST повторно идентифицирует себя, чтобы веб-сервер знал, как это сделать, возможно, используя идентификатор сеанса на основе cook ie.
Итог, вы не можете продолжать позвонив по номеру server.connect
, чтобы запустить его снова.