WebSocket++
0.8.4
C++ websocket client/server library
Toggle main menu visibility
Loading...
Searching...
No Matches
docs
simple_broadcast_server.cpp
1
#
include
<
set
>
2
3
#
include
<
websocketpp
/
config
/
asio_no_tls
.
hpp
>
4
#
include
<
websocketpp
/
server
.
hpp
>
5
6
typedef
websocketpp
::
server
<
websocketpp
::config::
asio
> server;
7
8
using
websocketpp
::connection_hdl;
9
using
websocketpp
::lib::placeholders::_1;
10
using
websocketpp
::lib::placeholders::_2;
11
using
websocketpp
::lib::bind;
12
13
class
broadcast_server
{
14
public
:
15
broadcast_server() {
16
m_server.init_asio();
17
18
m_server.set_open_handler(bind(&broadcast_server::on_open,
this
,::_1));
19
m_server.set_close_handler(bind(&broadcast_server::on_close,
this
,::_1));
20
m_server.set_message_handler(bind(&broadcast_server::on_message,
this
,::_1,::_2));
21
}
22
23
void
on_open(connection_hdl hdl) {
24
m_connections.insert(hdl);
25
}
26
27
void
on_close(connection_hdl hdl) {
28
m_connections.erase(hdl);
29
}
30
31
void
on_message(connection_hdl hdl, server::message_ptr msg) {
32
for
(
auto
it : m_connections) {
33
m_server.send(it,msg);
34
}
35
}
36
37
void
run(uint16_t port) {
38
m_server.listen(port);
39
m_server.start_accept();
40
m_server.run();
41
}
42
private
:
43
typedef
std::set<connection_hdl,std::owner_less<connection_hdl>> con_list;
44
45
server m_server;
46
con_list m_connections;
47
};
48
49
int
main() {
50
broadcast_server
server;
51
server.run(9002);
52
}
broadcast_server
Definition
simple_broadcast_server.cpp:13
websocketpp::server
Server endpoint role based on the given config.
Definition
server_endpoint.hpp:44
websocketpp
Namespace for the WebSocket++ project.
Definition
asio_no_tls_client.hpp:34
websocketpp::config::asio
Server config with asio transport and TLS disabled.
Definition
asio_no_tls.hpp:38
Generated by
1.17.0