Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
echo_client.cpp File Reference
#include <websocketpp/config/asio_no_tls_client.hpp>
#include <websocketpp/client.hpp>
#include <iostream>
Include dependency graph for echo_client.cpp:

Go to the source code of this file.

Typedefs

typedef websocketpp::client< websocketpp::config::asio_clientclient
 
typedef websocketpp::config::asio_client::message_type::ptr message_ptr
 

Functions

void on_message (client *c, websocketpp::connection_hdl hdl, message_ptr msg)
 
int main (int argc, char *argv[])
 

Typedef Documentation

◆ client

◆ message_ptr

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 58 of file echo_client.cpp.

58 {
59 // Create a client endpoint
60 client c;
61
62 std::string uri = "ws://localhost:9002";
63
64 if (argc == 2) {
65 uri = argv[1];
66 }
67
68 try {
69 // Set logging to be pretty verbose (everything except message payloads)
72
73 // Initialize ASIO
74 c.init_asio();
75
76 // Register our message handler
77 c.set_message_handler(bind(&on_message,&c,::_1,::_2));
78
79 websocketpp::lib::error_code ec;
81 if (ec) {
82 std::cout << "could not create connection because: " << ec.message() << std::endl;
83 return 0;
84 }
85
86 // Note that connect here only requests a connection. No network messages are
87 // exchanged until the event loop starts running in the next line.
88 c.connect(con);
89
90 // Start the ASIO io_service run loop
91 // this will cause a single connection to be made to the server. c.run()
92 // will exit when this connection is closed.
93 c.run();
94 } catch (websocketpp::exception const & e) {
95 std::cout << e.what() << std::endl;
96 }
97}
connection_ptr connect(connection_ptr con)
Begin the connection process for the given connection.
connection_ptr get_connection(uri_ptr location, lib::error_code &ec)
Get a new connection.
void set_message_handler(message_handler h)
Definition endpoint.hpp:322
void clear_access_channels(log::level channels)
Clear Access logging channels.
Definition endpoint.hpp:231
void set_access_channels(log::level channels)
Set Access logging channel.
Definition endpoint.hpp:220
virtual char const * what() const
Definition error.hpp:263
void on_message(client *c, websocketpp::connection_hdl hdl, message_ptr msg)
char ** argv
static level const all
Special aggregate value representing "all levels".
Definition levels.hpp:152
static level const frame_payload
One line per frame, includes the full message payload (warning: chatty)
Definition levels.hpp:129
Here is the call graph for this function:

◆ on_message()

void on_message ( client * c,
websocketpp::connection_hdl hdl,
message_ptr msg )

Definition at line 44 of file echo_client.cpp.

44 {
45 std::cout << "on_message called with hdl: " << hdl.lock().get()
46 << " and message: " << msg->get_payload()
47 << std::endl;
48
49
50 websocketpp::lib::error_code ec;
51
52 c->send(hdl, msg->get_payload(), msg->get_opcode(), ec);
53 if (ec) {
54 std::cout << "Echo failed because: " << ec.message() << std::endl;
55 }
56}
void send(connection_hdl hdl, std::string const &payload, frame::opcode::value op, lib::error_code &ec)
Create a message and add it to the outgoing send queue (exception free)
Here is the call graph for this function:
Here is the caller graph for this function: