Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Реавторизация пользователя при восстановлении TCP


Автор: _Y_ 10.12.2012, 13:44
Имеется TCP соединение - в простейшем варианте один к одному. И у клиента, и у сервера работают по конечному автомату. В начале работы клиент соединяется с сервером, авторизуется и работает в свое удовольствие.

Что делать если  TCP соединение не очень-то стабильное? Если прервалось надолго, надо выдавать ошибку. Ну а если не на долго? Надо автоматически воссоединиться и продолжить работу с текущего состояния конечных автоматов. При этом очень не желательно вновь начинать с авторизации, т.к. у состояний конечных автоматов есть временные рамки. Вопрос: как грамотно строится система, позволяющая восстановить соединение с восстановлением авторизации?

ЗЫ: Можно, конечно, навертеть своих велосипедов с выдачей кодов восстановления при установлении соединения. Но, наверное, существуют общепризнанно грамотные/удобные/красивые решения.

Спасибо


Автор: Akina 10.12.2012, 13:57
Думаю, нужно просто отделить установление (и поддержание) авторизованного канала от собственно трансфера данных. Пусть каждая подсистема занимается своими делами.

Автор: _Y_ 10.12.2012, 15:23
Akina, непонятно, но здорово. Для простоны обсуждения вообще забудем об обмене данными. Сведем вопрос к поддержанию авторизованного соединения. Думаю, даже не важно  TCP это или дымная почта североамериканских индейцев. Но вопрос остается тот-же. Как грамотно реавторизовать соединение?

Автор: Akina 10.12.2012, 17:08
Ну например поднять VPN. Можно даже без шифрования.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)