38 #include <boost/asio.hpp> 39 #include <protobuf_comm/server.h> 47 static bool quit =
false;
51 signal_handler(
const boost::system::error_code& error,
int signum)
60 boost::asio::ip::tcp::endpoint &endpoint)
62 printf(
"Client %u (%s:%u) connected\n", client,
63 endpoint.address().to_string().c_str(), endpoint.port());
68 const boost::system::error_code &error)
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, uint16_t msg_type,
80 std::shared_ptr<google::protobuf::Message> msg)
82 printf(
"Received message of type %u from %u\n", msg_type, client);
94 main(
int argc,
char **argv)
96 boost::asio::io_service io_service;
101 server.signal_connected().connect(client_connected);
102 server.signal_disconnected().connect(client_disconnected);
103 server.signal_received().connect(handle_message);
106 boost::asio::signal_set signals(io_service, SIGINT, SIGTERM);
109 signals.async_wait(signal_handler);
117 google::protobuf::ShutdownProtobufLibrary();
unsigned int ClientID
ID to identify connected clients.
Stream server for protobuf message transmission.