Mercurial
view playground/main.c @ 148:76cd7afa6b8e
[Configs] Updated configs and finally added ctags.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Sat, 10 Jan 2026 05:04:19 -0800 |
| parents | 893d87124d16 |
| children | 6de849867459 7387eec8e7f8 |
line wrap: on
line source
#include "seobeo/seobeo.h" void Test_Echo() { printf("\n=== Test: Multiple Messages ===\n"); // Seobeo_Client_Request *foo = Seobeo_Client_Request_Create("http://mrjunejune.com/echo"); // Seobeo_Client_Request_Add_Header_Array(foo, "Upgrade: websocket"); // Seobeo_Client_Request_Add_Header_Array(foo, "Connection: Upgrade"); // Seobeo_Client_Request_Add_Header_Array(foo, "Sec-WebSocket-Key: asbc3e12bA"); // Seobeo_Client_Request_Add_Header_Array(foo, "Sec-WebSocket-Version: 13"); // Seobeo_Client_Response *foo2 = Seobeo_Client_Request_Execute(foo); // printf("June: %s\n", foo2->body); Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://mrjunejune.com/echo"); // Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://localhost:6969/echo"); if (!p_ws) { printf("Failed to connect\n"); return; } const char *messages[] = { "Message 1", "Message 2", "Message 3" }; for (int i = 0; i < 3; i++) { printf("Sending: %s\n", messages[i]); Seobeo_WebSocket_Send_Text(p_ws, messages[i]); usleep(100000); } printf("Receiving responses...\n"); int received = 0; int attempts = 0; while (received < 3 && attempts < 200) { Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws); if (p_msg) { if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT) { printf("Response %d: %.*s\n", received + 1, (int)p_msg->length, (char*)p_msg->data); received++; } Seobeo_WebSocket_Message_Destroy(p_msg); } usleep(10000); attempts++; } printf("Received %d/%d messages\n", received, 3); Seobeo_WebSocket_Destroy(p_ws); } void Test_Chat() { printf("\n=== Test: Multiple Messages ===\n"); Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://127.0.0.1:8080/chat"); if (!p_ws) { printf("Failed to connect\n"); return; } const char *messages[] = { "Message 1", "Message 2", "Message 3" }; for (int i = 0; i < 3; i++) { printf("Sending: %s\n", messages[i]); Seobeo_WebSocket_Send_Text(p_ws, messages[i]); usleep(100000); } printf("Receiving responses...\n"); int received = 0; int attempts = 0; while (received < 3 && attempts < 200) { Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws); if (p_msg) { if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT) { printf("Response %d: %.*s\n", received + 1, (int)p_msg->length, (char*)p_msg->data); received++; } Seobeo_WebSocket_Message_Destroy(p_msg); } usleep(10000); attempts++; } printf("Received %d/%d messages\n", received, 3); Seobeo_WebSocket_Destroy(p_ws); } int main(int argc, char *argv[]) { Test_Echo(); }