X-Git-Url: https://plomlompom.com/repos/todo?a=blobdiff_plain;f=new2%2Frogue_chat_curses.py;h=a6d1ca7a81e9f8632bd82d2bb9e482da8529aae8;hb=8f4f247a8c36610a5cd4eb03ddb26dcc701e38ab;hp=15d0053a8bca770f385aa9e8a70a2f707f415c55;hpb=621e33482140c399f883b6e858f45e9c04471729;p=plomrogue2-experiments diff --git a/new2/rogue_chat_curses.py b/new2/rogue_chat_curses.py index 15d0053..a6d1ca7 100755 --- a/new2/rogue_chat_curses.py +++ b/new2/rogue_chat_curses.py @@ -39,8 +39,12 @@ class PlomSocketClient(PlomSocket): self.socket.close() def run(self): + import ssl try: for msg in self.recv(): + if msg == 'NEED_SSL': + self.socket = ssl.wrap_socket(self.socket) + continue self.recv_handler(msg) except BrokenSocketConnection: pass # we assume socket will be known as dead by now @@ -144,25 +148,25 @@ def cmd_PONG(game): cmd_PONG.argtypes = '' class Game(GameBase): - commands = {'LOGIN_OK': cmd_LOGIN_OK, - 'PONG': cmd_PONG, - 'CHAT': cmd_CHAT, - 'PLAYER_ID': cmd_PLAYER_ID, - 'TURN': cmd_TURN, - 'THING_POS': cmd_THING_POS, - 'THING_NAME': cmd_THING_NAME, - 'MAP': cmd_MAP, - 'PORTAL': cmd_PORTAL, - 'ANNOTATION': cmd_ANNOTATION, - 'GAME_STATE_COMPLETE': cmd_GAME_STATE_COMPLETE, - 'ARGUMENT_ERROR': cmd_ARGUMENT_ERROR, - 'GAME_ERROR': cmd_GAME_ERROR, - 'PLAY_ERROR': cmd_PLAY_ERROR} thing_type = ThingBase turn_complete = False def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + self.register_command(cmd_LOGIN_OK) + self.register_command(cmd_PONG) + self.register_command(cmd_CHAT) + self.register_command(cmd_PLAYER_ID) + self.register_command(cmd_TURN) + self.register_command(cmd_THING_POS) + self.register_command(cmd_THING_NAME) + self.register_command(cmd_MAP) + self.register_command(cmd_PORTAL) + self.register_command(cmd_ANNOTATION) + self.register_command(cmd_GAME_STATE_COMPLETE) + self.register_command(cmd_ARGUMENT_ERROR) + self.register_command(cmd_GAME_ERROR) + self.register_command(cmd_PLAY_ERROR) self.map_content = '' self.player_id = -1 self.info_db = {} @@ -606,4 +610,4 @@ class TUI: self.send('TASK:WRITE ' + key) self.switch_mode('play') -TUI('127.0.0.1:5000') +TUI('localhost:5000')