annotate playground/main.c @ 142:893d87124d16

please work
author June Park <parkjune1995@gmail.com>
date Fri, 09 Jan 2026 13:09:52 -0800
parents e7899c93da77
children 6de849867459 7387eec8e7f8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
1 #include "seobeo/seobeo.h"
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
2
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
3 void Test_Echo()
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
4 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
5 printf("\n=== Test: Multiple Messages ===\n");
108
f07abbcd2ec5 [HgWeb] Will probably hold off on using it since it is not urgent.
June Park <parkjune1995@gmail.com>
parents: 71
diff changeset
6
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
7 // Seobeo_Client_Request *foo = Seobeo_Client_Request_Create("http://mrjunejune.com/echo");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
8 // Seobeo_Client_Request_Add_Header_Array(foo, "Upgrade: websocket");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
9 // Seobeo_Client_Request_Add_Header_Array(foo, "Connection: Upgrade");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
10 // Seobeo_Client_Request_Add_Header_Array(foo, "Sec-WebSocket-Key: asbc3e12bA");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
11 // Seobeo_Client_Request_Add_Header_Array(foo, "Sec-WebSocket-Version: 13");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
12 // Seobeo_Client_Response *foo2 = Seobeo_Client_Request_Execute(foo);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
13 // printf("June: %s\n", foo2->body);
108
f07abbcd2ec5 [HgWeb] Will probably hold off on using it since it is not urgent.
June Park <parkjune1995@gmail.com>
parents: 71
diff changeset
14
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
15
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
16 Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://mrjunejune.com/echo");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
17 // Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://localhost:6969/echo");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
18 if (!p_ws)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
19 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
20 printf("Failed to connect\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
21 return;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
22 }
71
75de5903355c Giagantic changes that update Dowa library to be more align with stb style array and hashmap. Updated Seobeo to be caching on server side instead of file level caching. Deleted bunch of things I don't really use.
June Park <parkjune1995@gmail.com>
parents: 25
diff changeset
23
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
24 const char *messages[] = {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
25 "Message 1",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
26 "Message 2",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
27 "Message 3"
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
28 };
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
29
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
30 for (int i = 0; i < 3; i++)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
31 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
32 printf("Sending: %s\n", messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
33 Seobeo_WebSocket_Send_Text(p_ws, messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
34 usleep(100000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
35 }
71
75de5903355c Giagantic changes that update Dowa library to be more align with stb style array and hashmap. Updated Seobeo to be caching on server side instead of file level caching. Deleted bunch of things I don't really use.
June Park <parkjune1995@gmail.com>
parents: 25
diff changeset
36
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
37 printf("Receiving responses...\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
38 int received = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
39 int attempts = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
40
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
41 while (received < 3 && attempts < 200)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
42 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
43 Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
44 if (p_msg)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
45 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
46 if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
47 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
48 printf("Response %d: %.*s\n", received + 1, (int)p_msg->length, (char*)p_msg->data);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
49 received++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
50 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
51 Seobeo_WebSocket_Message_Destroy(p_msg);
126
e7899c93da77 Remove playground.
June Park <parkjune1995@gmail.com>
parents: 109
diff changeset
52 }
71
75de5903355c Giagantic changes that update Dowa library to be more align with stb style array and hashmap. Updated Seobeo to be caching on server side instead of file level caching. Deleted bunch of things I don't really use.
June Park <parkjune1995@gmail.com>
parents: 25
diff changeset
53
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
54 usleep(10000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
55 attempts++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
56 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
57 printf("Received %d/%d messages\n", received, 3);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
58 Seobeo_WebSocket_Destroy(p_ws);
1
adcfad6e86fb Updated naming and separated out some logic within seobeo.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
59 }
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
60
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
61 void Test_Chat()
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
62 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
63 printf("\n=== Test: Multiple Messages ===\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
64
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
65 Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("ws://127.0.0.1:8080/chat");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
66 if (!p_ws)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
67 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
68 printf("Failed to connect\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
69 return;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
70 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
71
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
72 const char *messages[] = {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
73 "Message 1",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
74 "Message 2",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
75 "Message 3"
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
76 };
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
77
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
78 for (int i = 0; i < 3; i++)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
79 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
80 printf("Sending: %s\n", messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
81 Seobeo_WebSocket_Send_Text(p_ws, messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
82 usleep(100000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
83 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
84
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
85 printf("Receiving responses...\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
86 int received = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
87 int attempts = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
88
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
89 while (received < 3 && attempts < 200)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
90 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
91 Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
92 if (p_msg)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
93 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
94 if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
95 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
96 printf("Response %d: %.*s\n", received + 1, (int)p_msg->length, (char*)p_msg->data);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
97 received++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
98 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
99 Seobeo_WebSocket_Message_Destroy(p_msg);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
100 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
101
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
102 usleep(10000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
103 attempts++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
104 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
105 printf("Received %d/%d messages\n", received, 3);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
106 Seobeo_WebSocket_Destroy(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
107 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
108
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
109 int main(int argc, char *argv[])
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
110 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
111
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
112 Test_Echo();
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
113 }