Проблема с трансляцией с использованием Boost.Asio

Я заранее прошу прощения, если на вопрос уже был дан ответ, но яЯ искал и не нашел ничего, что поможет мне. Как указано в вопросеназвание, яЯ пытаюсь передать пакет с сервера группе клиентов, прослушивающих любое сообщение.

Клиент посчитает количество сообщений, полученных им в течение одной секунды.

Серверная сторона вещей выглядит так:

class Server
{
public:

    Server(boost::asio::io_service& io)
        : socket(io, udp::endpoint(udp::v4(), 8888))
        , broadcastEndpoint(address_v4::broadcast(), 8888)
        , tickHandler(boost::bind(&Server::Tick, this, boost::asio::placeholders::error))
        , timer(io, boost::posix_time::milliseconds(20))
    {
        socket.set_option(boost::asio::socket_base::reuse_address(true));
        socket.set_option(boost::asio::socket_base::broadcast(true));

        timer.async_wait(tickHandler);
    }

private:

    void Tick(const boost::system::error_code&)
    {
        socket.send_to(boost::asio::buffer(buffer), broadcastEndpoint);

        timer.expires_at(timer.expires_at() + boost::posix_time::milliseconds(20));
        timer.async_wait(tickHandler);
    }

private:

    udp::socket socket;
    udp::endpoint broadcastEndpoint;

    boost::function tickHandler;
    boost::asio::deadline_timer timer;

    boost::array buffer;

};

Он инициализируется и запускается следующим образом:

int main()
{
    try
    {
        boost::asio::io_service io;
        Server server(io);
        io.run();
    }
    catch (const std::exception& e)
    {
        std::cerr < e.what() < "\n";
    }

    return 0;
}

Ответы на вопрос(1)

Ваш ответ на вопрос