diff seobeo/seobeo.h @ 121:7b1719fa918c

[Seobeo] Added web socket server.
author June Park <parkjune1995@gmail.com>
date Thu, 08 Jan 2026 06:45:10 -0800
parents cbbf78b17cfa
children f236c895604e
line wrap: on
line diff
--- a/seobeo/seobeo.h	Thu Jan 08 03:19:59 2026 -0800
+++ b/seobeo/seobeo.h	Thu Jan 08 06:45:10 2026 -0800
@@ -303,6 +303,22 @@
 /* Destroy WebSocket and free all resources. */
 extern void                      Seobeo_WebSocket_Destroy(Seobeo_WebSocket *p_ws);
 
+// --- WebSocket Server API --- //
+/* Initialize WebSocket server routing system. Call before registering routes. */
+extern void                               Seobeo_WebSocket_Server_Init();
+/* Register a WebSocket route handler for a specific path. */
+extern void                               Seobeo_WebSocket_Server_Register(const char *path, Seobeo_WebSocket_Server_Handler handler, void *p_user_data);
+/* Send text message to specific WebSocket client. */
+extern int32                              Seobeo_WebSocket_Server_Send_Text(Seobeo_WebSocket_Server_Connection *p_conn, const char *text);
+/* Send binary message to specific WebSocket client. */
+extern int32                              Seobeo_WebSocket_Server_Send_Binary(Seobeo_WebSocket_Server_Connection *p_conn, const uint8 *data, size_t length);
+/* Broadcast text message to all connected WebSocket clients. */
+extern void                               Seobeo_WebSocket_Server_Broadcast_Text(const char *text);
+/* Broadcast binary message to all connected WebSocket clients. */
+extern void                               Seobeo_WebSocket_Server_Broadcast_Binary(const uint8 *data, size_t length);
+/* Close WebSocket connection with status code and reason. */
+extern void                               Seobeo_WebSocket_Server_Connection_Close(Seobeo_WebSocket_Server_Connection *p_conn, uint16 code, const char *reason);
+
 /* Initialize the router system (called automatically by Seobeo_Web_Server_Start) */
 extern void           Seobeo_Router_Init();
 /* Register an API route handler. Call before starting server. */