qt C++ WebSocket chat-клиент для Kaazing Gateway

Я пишу чат-клиент для Kaazing Gateway на qt C++. Я использую QTcpSocket. Я звоню connectToHost и соединение в порядке. Но когда я вызываю функцию записи сокета, соединение отключается. Что не так? Как написать сообщение на каазинговый сервер?

//connect to server
QTcpSocket _sok = new QTcpSocket(this);
connect(_sok, SIGNAL(connected()), this, SLOT(onSokConnected()));
connect(_sok, SIGNAL(disconnected()), this, SLOT(onSokDisconnected()));

_sok->connectToHost("localhost", 8000); //after this line run onSokConnected()


// write message
    QByteArray  arrBlock;
    QDataStream out(&arrBlock, QIODevice::WriteOnly);
    out.setVersion( QDataStream::Qt_4_5 );
    out << quint16(0) <<sometext;

    out.device()->seek(0);
    out << quint16(arrBlock.size() - sizeof(quint16));

    _sok->write(arrBlock);  // after this line run onSokDisconnected()
    _sok->flush();

1 ответ

  • Во-первых, вы должны использовать библиотеки QT Websocket, вы можете найти пример здесь.
  • Во-вторых, если вы уже загрузили шлюз с kaazing.com/download, он уже настроен на службу эха, вам нужно поместить этот URI (ws://localhost:8000/echo) в main.cpp.

Если вы выполните эти 2 шага, вы сможете без проблем подключиться к шлюзу!

Другие вопросы по тегам