-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathdemo_secure_echo_client.cpp
48 lines (39 loc) · 1.4 KB
/
demo_secure_echo_client.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
Interactive and basic Websockets Client that SECURELY connect to a public echo server
After running this demo, there will be a websockets client connected
to `echo.websocket.org` with TLS/SSL (secured wss://) and every message the user will
enter will be sent to the server. Incoming messages will be printed once the user
enters an input (or an empty line, just an Enter)
Enter "exit" to close the connection and end the program.
The code:
1. Sets up a client connection
2. Reads an input from the user
2-1. If the user didnt enter an empty line, the client sends the message to the server
2-2. If the user enters "exit", the program closes the connection
3. Polls for incoming messages and events.
*/
#include <tiny_websockets/client.hpp>
#include <tiny_websockets/server.hpp>
#include <iostream>
using namespace websockets;
int main() {
WebsocketsClient client;
client.connect("wss://echo.websocket.org/");
client.onMessage([&](WebsocketsClient&, WebsocketsMessage message){
std::cout << "Got Data: " << message.data() << std::endl;
});
WSString line;
while(client.available()) {
std::cout << "Enter input: ";
std::getline(std::cin, line);
if(line != "") {
if(line == "exit") client.close();
else {
client.poll();
client.send(line);
}
}
client.poll();
}
std::cout << "Exited Gracefully" << std::endl;
}