通过boost :: asio :: buffer()

时间:2019-04-18 23:33:31

标签: c++ boost-asio

我设置了一个异步tcp服务器来处理许多客户端,所有客户端都将在同一台PC上运行。每个客户端将控制一个多维数据集(一个对象或一个Object类型)。

例如,如果我在一个客户端中移动多维数据集,我应该看到它在所有其他客户端中移动

要实现这一点,我需要将有关多维数据集的位置,旋转和缩放的数据从所有客户端发送到服务器。对象本身包含所有这些信息。使用boost :: asio :: buffer(),我读到可以发送指针作为数据。

我的问题:看来我无法通过boost :: asio :: buffer()发送指向对象本身的指针

//message from client
const vector<Object*> t_data = {g_player};

boost::system::error_code t_error;

boost::asio::write(t_socket, boost::asio::buffer(t_data.data(), t_data.size() * sizeof(Object*), t_error));

它给我一个关于重载不匹配参数的错误。我想念什么吗?无论如何,是否要向服务器和其他客户端发送客户端对象本身的指针?

0 个答案:

没有答案