diff --git a/README.md b/README.md index f0ac0da..86c075f 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ The WebsocketServer can be initialized with the below parameters. | `set_fn_new_client()` | Sets a callback function that will be called for every new `client` connecting to us | function | None | | `set_fn_client_left()` | Sets a callback function that will be called for every `client` disconnecting from us | function | None | | `set_fn_message_received()` | Sets a callback function that will be called when a `client` sends a message | function | None | -| `send_message()` | Sends a `message` to a specific `client`. The message is a simple string. | client, message | None | +| `send_message()` | Sends a `message` to a specific `client`. The message is a simple string. | client, message, args | None | | `send_message_to_all()` | Sends a `message` to **all** connected clients. The message is a simple string. | message | None | | `disconnect_clients_gracefully()` | Disconnect all connected clients by sending a websocket CLOSE handshake. | Optional: status, reason | None | | `disconnect_clients_abruptly()` | Disconnect all connected clients. Clients won't be aware until they try to send some data. | None | None | diff --git a/websocket_server/websocket_server.py b/websocket_server/websocket_server.py index 083ee17..0cf4e63 100644 --- a/websocket_server/websocket_server.py +++ b/websocket_server/websocket_server.py @@ -62,7 +62,7 @@ def new_client(self, client, server): def client_left(self, client, server): pass - def message_received(self, client, server, message): + def message_received(self, client, server, message, args=None): pass def set_fn_new_client(self, fn): @@ -71,8 +71,9 @@ def set_fn_new_client(self, fn): def set_fn_client_left(self, fn): self.client_left = fn - def set_fn_message_received(self, fn): + def set_fn_message_received(self, fn, args=None): self.message_received = fn + self.message_received_args = args def send_message(self, client, msg): self._unicast(client, msg) @@ -160,7 +161,7 @@ def _run_forever(self, threaded): sys.exit(1) def _message_received_(self, handler, msg): - self.message_received(self.handler_to_client(handler), self, msg) + self.message_received(self.handler_to_client(handler), self, msg, self.message_received_args) def _ping_received_(self, handler, msg): handler.send_pong(msg)