Virtlab:Protokoly/Konzolový server
Z VirtlabWiki
← Starší verze | Novější verze →
Při napojení přes TCP textově říct, na který fyz. prvek chci.
Přihlašování vždy k Cserveru lokality, do které uživatel patří, ten relayuje dále.
Autentizace na domovském Cserveru (globálním) uživatelským jménem a globálním rezervationID, Cserver zkontroluje v DB, zda v daný čas daný uživatel má skutečně uživatelem dodané rezervationID.
Analyzujte stávající protokol Applet-Cserver (verzi Pavla Němce i Romana Kubína), odbourejte počáteční falešný handshake, pouze jednorázový dotaz-odpověď ve stylu HTTP, v hlavičkách přihlašovacího požadavku (ve stylu HTTP) údaje pro autentizaci, v příkazu pro připojení globální identifikace fyzického laboratorního prvku, ke kterému se chce uživatel připojit. Uživatelské jméno nutno předávat také pro účely logování, kdo se kam připojuje. Pro snadné ladění Telnetem dejte možnost uvést „tajné vyhrazené“ RezervationID, které pustí na kterýkoli prvek.
Odpovědi na žádost o připojení k prvku: pozitivní nebo negativní, po pozitivní odpovědi již obousměrný přenos na konzolu síťového prvku, negativní odpověď uvede důvod – neúspěšná autentizace nebo zařízení obsazeno. Uvažujte s budoucím rozšířením – možnost převzetí konzoly tutorem (režim převzetí se/bez zobrazení textu psaného tutorem žákovi, možnost sledování, co žák píše) – identifikace přihlášení v některém subrežimu tutora formou hlavičky v přihlašovacím požadavku.
Možnost zasílat zprávy mezi appletem a Cserverem (obousměrně) během již navázaného spojení na konzoli – informace o vypršení času, varování několik minut před odpojením, informace, že se připojil Tutor a další, viz stávající protokol – patrně formou speciálních vyhrazených binárních znaků označující příkaz, navrhuji systém TLV (vyhrazený znak následující položkami Type(kód příkazu)-Length(délka následných dat)-Value(data proměnné délky pro příkaz)).
Zabezpeřčení necháme na úrovni sítě.