annotate playground/main.c @ 160:948de3f54cea

[ThirdParty] Added libuv
author June Park <parkjune1995@gmail.com>
date Wed, 14 Jan 2026 19:39:52 -0800
parents 7387eec8e7f8
children 827c6ac504cd 8d17f6e6e290
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");
152
7387eec8e7f8 [Postdog] Updated to use Seobeo_Client instead of CURL. Updated to handle websocket connection.
June Park <parkjune1995@gmail.com>
parents: 142
diff changeset
6 Seobeo_WebSocket *p_ws = Seobeo_WebSocket_Connect("wss://mrjunejune.com/echo");
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
7 if (!p_ws)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
8 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
9 printf("Failed to connect\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
10 return;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
11 }
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
12
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
13 const char *messages[] = {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
14 "Message 1",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
15 "Message 2",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
16 "Message 3"
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
17 };
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
18
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
19 for (int i = 0; i < 3; i++)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
20 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
21 printf("Sending: %s\n", messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
22 Seobeo_WebSocket_Send_Text(p_ws, messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
23 usleep(100000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
24 }
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
25
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
26 printf("Receiving responses...\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
27 int received = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
28 int attempts = 0;
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 while (received < 3 && attempts < 200)
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 Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
33 if (p_msg)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
34 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
35 if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
36 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
37 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
38 received++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
39 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
40 Seobeo_WebSocket_Message_Destroy(p_msg);
126
e7899c93da77 Remove playground.
June Park <parkjune1995@gmail.com>
parents: 109
diff changeset
41 }
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
42
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
43 usleep(10000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
44 attempts++;
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 printf("Received %d/%d messages\n", received, 3);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
47 Seobeo_WebSocket_Destroy(p_ws);
1
adcfad6e86fb Updated naming and separated out some logic within seobeo.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
48 }
142
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
49
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
50 void Test_Chat()
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
51 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
52 printf("\n=== Test: Multiple Messages ===\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
53
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
54 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
55 if (!p_ws)
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("Failed to connect\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
58 return;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
59 }
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 const char *messages[] = {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
62 "Message 1",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
63 "Message 2",
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
64 "Message 3"
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
65 };
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
66
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
67 for (int i = 0; i < 3; i++)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
68 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
69 printf("Sending: %s\n", messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
70 Seobeo_WebSocket_Send_Text(p_ws, messages[i]);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
71 usleep(100000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
72 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
73
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
74 printf("Receiving responses...\n");
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
75 int received = 0;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
76 int attempts = 0;
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 while (received < 3 && attempts < 200)
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 Seobeo_WebSocket_Message *p_msg = Seobeo_WebSocket_Receive(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
81 if (p_msg)
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
82 {
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
83 if (p_msg->opcode == SEOBEO_WS_OPCODE_TEXT)
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("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
86 received++;
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
87 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
88 Seobeo_WebSocket_Message_Destroy(p_msg);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
89 }
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 usleep(10000);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
92 attempts++;
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 printf("Received %d/%d messages\n", received, 3);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
95 Seobeo_WebSocket_Destroy(p_ws);
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
96 }
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
97
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
98 int main(int argc, char *argv[])
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
99 {
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 Test_Echo();
893d87124d16 please work
June Park <parkjune1995@gmail.com>
parents: 126
diff changeset
102 }