c++ - 通过 websocket 发送 STOMP 帧

标签 c++ qt websocket stomp

由于任何地方都没有 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/

相关文章:

firefox - Socket.io 无法向 Chrome 和 Firefox 上的 Node 服务器发送消息

android - 在Android中实现故事功能

android - 如何在qt android中启动前台服务?

c++ - 如何使用 qt(QProcess) 获取暗检测对象名称?

c++ - 将 C++ 与 BLAS 和 LAPACK 链接起来

c++ - QVideoFrame 的许多构造函数中的 1 个的未定义引用

c++ - 如何从 QLineEdit 连接焦点事件?

java - WebSockets、GlassFish、Grizzly — 无法连接

编译源代码时找不到 C++ 标识符

c++ - arduino错误: expected ',' or '...' before numeric constant