NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
print_client.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#include <
websocketpp/config/asio_no_tls_client.hpp
>
29
#include <
websocketpp/client.hpp
>
30
31
#include <iostream>
32
33
typedef
websocketpp::client<websocketpp::config::asio_client>
client
;
34
35
void
on_message
(
websocketpp::connection_hdl
,
client::message_ptr
msg) {
36
std::cout << msg->get_payload() << std::endl;
37
}
38
39
int
main
(
int
argc,
char
* argv[]) {
40
client
c;
41
42
std::string uri =
"ws://localhost:9002"
;
43
44
if
(argc == 2) {
45
uri = argv[1];
46
}
47
48
try
{
49
// Set logging to be pretty verbose (everything except message payloads)
50
c.
set_access_channels
(
websocketpp::log::alevel::all
);
51
c.
clear_access_channels
(
websocketpp::log::alevel::frame_payload
);
52
c.
set_error_channels
(
websocketpp::log::elevel::all
);
53
54
// Initialize ASIO
55
c.init_asio();
56
57
// Register our message handler
58
c.
set_message_handler
(&
on_message
);
59
60
websocketpp::lib::error_code ec;
61
client::connection_ptr
con = c.
get_connection
(uri, ec);
62
if
(ec) {
63
std::cout <<
"could not create connection because: "
<< ec.message() << std::endl;
64
return
0;
65
}
66
67
// Note that connect here only requests a connection. No network messages are
68
// exchanged until the event loop starts running in the next line.
69
c.
connect
(con);
70
71
// Start the ASIO io_service run loop
72
// this will cause a single connection to be made to the server. c.run()
73
// will exit when this connection is closed.
74
c.run();
75
}
catch
(
websocketpp::exception
const
& e) {
76
std::cout << e.
what
() << std::endl;
77
}
78
}
websocketpp::log::alevel::all
static level const all
Special aggregate value representing "all levels".
Definition:
levels.hpp:152
websocketpp::client< websocketpp::config::asio_client >::connection_ptr
connection_type::ptr connection_ptr
Type of a shared pointer to the connections this server will create.
Definition:
client_endpoint.hpp:60
websocketpp::exception
Definition:
error.hpp:251
main
int main(int argc, char *argv[])
Definition:
print_client.cpp:39
websocketpp::client< websocketpp::config::asio_client >
websocketpp::endpoint< connection< websocketpp::config::asio_client >, websocketpp::config::asio_client >::message_ptr
connection_type::message_ptr message_ptr
Type of message pointers that this endpoint uses.
Definition:
endpoint.hpp:70
websocketpp::log::alevel::frame_payload
static level const frame_payload
One line per frame, includes the full message payload (warning: chatty)
Definition:
levels.hpp:129
websocketpp::connection_hdl
lib::weak_ptr< void > connection_hdl
A handle to uniquely identify a connection.
Definition:
connection_hdl.hpp:48
on_message
void on_message(websocketpp::connection_hdl, client::message_ptr msg)
Definition:
print_client.cpp:35
websocketpp::client::connect
connection_ptr connect(connection_ptr con)
Begin the connection process for the given connection.
Definition:
client_endpoint.hpp:139
client
websocketpp::client< websocketpp::config::asio_client > client
Definition:
print_client.cpp:33
websocketpp::endpoint::set_access_channels
void set_access_channels(log::level channels)
Set Access logging channel.
Definition:
endpoint.hpp:220
websocketpp::endpoint::clear_access_channels
void clear_access_channels(log::level channels)
Clear Access logging channels.
Definition:
endpoint.hpp:231
asio_no_tls_client.hpp
websocketpp::endpoint::set_error_channels
void set_error_channels(log::level channels)
Set Error logging channel.
Definition:
endpoint.hpp:242
websocketpp::endpoint::set_message_handler
void set_message_handler(message_handler h)
Definition:
endpoint.hpp:322
websocketpp::exception::what
virtual char const * what() const
Definition:
error.hpp:263
websocketpp::log::elevel::all
static level const all
Special aggregate value representing "all levels".
Definition:
levels.hpp:80
websocketpp::client::get_connection
connection_ptr get_connection(uri_ptr location, lib::error_code &ec)
Get a new connection.
Definition:
client_endpoint.hpp:89
client.hpp
ndnSIM
NFD
websocketpp
examples
print_client
print_client.cpp
Generated on Fri May 6 2022 12:34:14 for ndnSIM by
1.8.13