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