38 #include <protobuf_comm/server.h> 40 #include <boost/asio.hpp> 42 using namespace protobuf_comm;
47 static bool quit =
false;
51 signal_handler(
const boost::system::error_code &error,
int signum)
61 printf(
"Client %u (%s:%u) connected\n",
63 endpoint.address().to_string().c_str(),
71 printf(
"Client %u disconnected\n", client);
73 printf(
"Client %u disconnected, error was: %s\n", client, error.message().c_str());
79 uint16_t component_id,
81 std::shared_ptr<google::protobuf::Message> msg)
83 printf(
"Received message of type %u from %u\n", msg_type, client);
95 main(
int argc,
char **argv)
97 boost::asio::io_service io_service;
102 server.signal_connected().connect(client_connected);
103 server.signal_disconnected().connect(client_disconnected);
104 server.signal_received().connect(handle_message);
107 boost::asio::signal_set signals(io_service, SIGINT, SIGTERM);
110 signals.async_wait(signal_handler);
118 google::protobuf::ShutdownProtobufLibrary();
unsigned int ClientID
ID to identify connected clients.
Stream server for protobuf message transmission.