首先我们定义一个回调函数
// 这里我们定义一个回调函数用于不断监听客户端发送过来的数据)、
typedef void (*Receive)(std::string);
然后我们定义一个类
// 自定义socket相关的包
class socketUtil {
public:
// 这里我们初始化socket连接,当有消息发送的时候会触发回调函数
static void socketInit(Receive receive);
};
这个类里面触发一下
// test(recv_buf);
receive(recv_buf);
最后我们的主函数调用我们定义的函数并触发回调事件
// 窗口点击事件
void Chat::startService() {
// 创建一个服务对象
socketUtil::socketInit(newDataRead);
}
// 有新数据
void Chat::newDataRead(std::string data) {
qDebug() << "新数据" << QString::fromStdString(data);
}