由于任何地方都没有 webstomp(通过 Websocket 的 STOMP)C++ 实现,我正在开发自己的。我已经设置了一个 webstomp 服务器,并且我已经确认它可以使用 webstomp 的 javascript 实现工作。
现在我依赖于 QT 的 websocket 实现。我测试并使用了常规的 websocket。所以现在是 STOMP 的实现。查看 STOMP 帧,我必须发送的第一帧可能是这样的:
CONNECT
login: <username>
passcode: <passcode>
^@
^@
为空字符。我遇到的问题是,无论我做什么,我似乎都无法从服务器获得任何 类型的响应。我尝试了不同的编码、不同的消息、不同的连接帧等。我想知道我是否做错了什么或者我是否遗漏了什么。上述框架的示例如下所示:
void WebSTOMP::onConnected()
{
if (m_debug)
qDebug() << "WebSocket connected";
connect(&m_webSocket, &QWebSocket::textMessageReceived,
this, &EchoClient::onTextMessageReceived);
std::string myMessage = "CONNECT \nlogin: test\npasscode : test\n\n\0";
m_webSocket.sendTextMessage(QString::fromUtf8(myMessage.c_str()));
}
然后我再也没有收到回复。
提前致谢 =)
最佳答案
由于字符串的空字符终止符,消息长度加一
关于c++ - 通过 websocket 发送 STOMP 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47227461/