【发布时间】:2016-10-28 10:41:34
【问题描述】:
我正在使用 Qt websockets。
想问你,你知道我该如何进行这种交流:
例如我有这两种方法,我想向服务器发送消息,而不是等待响应(因为它会刷新data 变量)和比进程myMethod()
client->sendMessageToServer();
myMethod(data);
当然我可以使用 Signal 和 Slots...但不知道如何在这里使用它,请参阅:
当我去sendMessageToServer() ok 时它会向服务器发送消息
void Client::sendMessageToServer(QString &str){
m_wSocket.sendTextMessage(str);
}
我应该发出什么?我不知道如何处于等待状态...QWebSocket 中没有这样的插槽,它只是立即转到方法myMethod。
它不在设置数据的地方:
顺便说一句,我在收到消息时设置了这样的客户端,因为它会转到onTextMessageRecieved:
connect(&m_wSocket, &QWebSocket::textMessageReceived, this, &Client::onTextMessageReceived);
void Client::onTextMessageReceived(QString message)
{
setData(message);
}
你有什么想法吗?
【问题讨论】:
-
你的意思是像
textMessageReceived这样的信号?将您要调用的方法连接到那些。并为此在处理程序中调用您的myMethod。 -
您也可以在
setData中发出自定义信号并将此信号与myMethod连接 -
问题是,它没有达到 onMessageRecieved 所以 neiter setData... 它连接正确,只是在使用带有 2 个方法 sendMessageToserver 和 mymethod 的代码时,myMethod 没有实现其数据。
-
当
onMessageRecieved不会被调用时,您不会收到任何数据,并且某处有其他问题。
标签: c++ qt networking