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 шага, вы сможете без проблем подключиться к шлюзу!