You can define custom logic for server events by setting callback functions using the following methods. All callbacks receive the client and the server instance as arguments.
Event Callbacks
| Method | Event | Callback Parameters |
|---|
set_fn_new_client(fn) | A new client connects | client, server |
set_fn_client_left(fn) | A client disconnects | client, server |
set_fn_message_received(fn) | A client sends a message | client, server, message |
Example: Handling new clients and messages
import logging
from websocket_server import WebsocketServer
def on_new_client(client, server):
server.send_message_to_all("A new client has joined!")
def on_message(client, server, message):
print(f"Received: {message}")
server.send_message(client, "Message received")
server = WebsocketServer(host='127.0.0.1', port=13254, loglevel=logging.INFO)
server.set_fn_new_client(on_new_client)
server.set_fn_message_received(on_message)
server.run_forever()
import logging
from websocket_server import WebsocketServer
def new_client(client, server):
server.send_message_to_all("Hey all, a new client has joined us")
server = WebsocketServer(host='127.0.0.1', port=13254, loglevel=logging.INFO)
server.set_fn_new_client(new_client)
server.run_forever()