diff --git a/ahserver/websocketProcessor.py b/ahserver/websocketProcessor.py index 3b20811..c753568 100755 --- a/ahserver/websocketProcessor.py +++ b/ahserver/websocketProcessor.py @@ -80,11 +80,18 @@ class XtermProcessor(BaseProcessor): self.p_obj.close() async def ws_send(ws:web.WebSocketResponse, data): - data = { + if not isinstance(data, str): + data = json.dumps(data) + d = { "type":1, "data":data } - return await ws.send_str(json.dumps(data)) + d = json.dumps(d) + try: + return await ws.send_str(d) + except Exception as e: + print('ws.send_str() error:', e) + return False class WsPool: def __init__(self, ws, ws_path, app): @@ -128,13 +135,9 @@ class WsPool: async def sendto(self, data, id=None): if id is None: return await ws_send(self.ws, data) - try: - d = self.get_data() - ws = d.get(id) - return await ws_send(ws, data) - except Exception as e: - print('ws.sendto() error:', e) - return False + d = self.get_data() + ws = d.get(id) + return await ws_send(ws, data) class WebsocketProcessor(PythonScriptProcessor): @classmethod