comparison 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
comparison
equal deleted inserted replaced
120:cbbf78b17cfa 121:7b1719fa918c
300 extern void Seobeo_WebSocket_Message_Destroy(Seobeo_WebSocket_Message *p_msg); 300 extern void Seobeo_WebSocket_Message_Destroy(Seobeo_WebSocket_Message *p_msg);
301 /* Close WebSocket connection with status code and optional reason. */ 301 /* Close WebSocket connection with status code and optional reason. */
302 extern int32 Seobeo_WebSocket_Close(Seobeo_WebSocket *p_ws, uint16 code, const char *reason); 302 extern int32 Seobeo_WebSocket_Close(Seobeo_WebSocket *p_ws, uint16 code, const char *reason);
303 /* Destroy WebSocket and free all resources. */ 303 /* Destroy WebSocket and free all resources. */
304 extern void Seobeo_WebSocket_Destroy(Seobeo_WebSocket *p_ws); 304 extern void Seobeo_WebSocket_Destroy(Seobeo_WebSocket *p_ws);
305
306 // --- WebSocket Server API --- //
307 /* Initialize WebSocket server routing system. Call before registering routes. */
308 extern void Seobeo_WebSocket_Server_Init();
309 /* Register a WebSocket route handler for a specific path. */
310 extern void Seobeo_WebSocket_Server_Register(const char *path, Seobeo_WebSocket_Server_Handler handler, void *p_user_data);
311 /* Send text message to specific WebSocket client. */
312 extern int32 Seobeo_WebSocket_Server_Send_Text(Seobeo_WebSocket_Server_Connection *p_conn, const char *text);
313 /* Send binary message to specific WebSocket client. */
314 extern int32 Seobeo_WebSocket_Server_Send_Binary(Seobeo_WebSocket_Server_Connection *p_conn, const uint8 *data, size_t length);
315 /* Broadcast text message to all connected WebSocket clients. */
316 extern void Seobeo_WebSocket_Server_Broadcast_Text(const char *text);
317 /* Broadcast binary message to all connected WebSocket clients. */
318 extern void Seobeo_WebSocket_Server_Broadcast_Binary(const uint8 *data, size_t length);
319 /* Close WebSocket connection with status code and reason. */
320 extern void Seobeo_WebSocket_Server_Connection_Close(Seobeo_WebSocket_Server_Connection *p_conn, uint16 code, const char *reason);
305 321
306 /* Initialize the router system (called automatically by Seobeo_Web_Server_Start) */ 322 /* Initialize the router system (called automatically by Seobeo_Web_Server_Start) */
307 extern void Seobeo_Router_Init(); 323 extern void Seobeo_Router_Init();
308 /* Register an API route handler. Call before starting server. */ 324 /* Register an API route handler. Call before starting server. */
309 extern void Seobeo_Router_Register(const char *method, const char *path_pattern, Seobeo_Route_Handler handler); 325 extern void Seobeo_Router_Register(const char *method, const char *path_pattern, Seobeo_Route_Handler handler);