diff --git a/owrx/websocket.py b/owrx/websocket.py index b8ea3a7..a247b2a 100644 --- a/owrx/websocket.py +++ b/owrx/websocket.py @@ -38,12 +38,16 @@ class WebSocketConnection(object): # string-type messages are sent as text frames if (type(data) == str): header = self.get_header(len(data), 1) - self.handler.wfile.write(header + data.encode('utf-8')) - self.handler.wfile.flush() + data_to_send = header + data.encode('utf-8') # anything else as binary else: header = self.get_header(len(data), 2) - self.handler.wfile.write(header + data) + data_to_send = header + data + written = self.handler.wfile.write(data_to_send) + if (written != len(data_to_send)): + logger.error("incomplete write! closing socket!") + self.close() + else: self.handler.wfile.flush() def read_loop(self):