从类外部提升调用方法

时间:2013-05-21 22:39:10

标签: boost boost-asio tcpclient

让我们看看我可以提出的问题有多简单。我有:

void TCPClient::test(const boost::system::error_code& ErrorCode)
{
    // Anything can be here
}

我想从另一个班级打电话给我。我有一个全局boost :: thread_group来创建一个线程

clientThreadGroup->create_thread(boost::bind(&TCPClient::test,client, /* this is where I need help */));

但我不确定如何调用测试,如果这是正确的方法。

作为整个项目的解释,我在客户端和服务器之间创建了一个tcp连接,并且有一个方法“send”(在另一个类中),当需要发送数据时将调用该方法。我目前的目标是能够调用test(当前其中包含async_send)并通过已调用的套接字发送信息。但是,我对其他有关如何实施的想法持开放态度,并且可能会创建一个消费者/生产者模型,如果这被证明太难了。

我可以使用这个项目,但后来我必须实现listen才能从服务器接收控制数据包,所以如果有任何关于使用哪种方法的建议,我将不胜感激。< / p>

1 个答案:

答案 0 :(得分:0)

boost::system::error_code err;
clientThreadGroup->create_thread(boost::bind(&TCPClient::test,client, err));

这对我有用。我不知道如果出现问题它是否真的会出错,所以如果有人想在那里纠正我,我会很感激(如果只是为了体验)。