Всем доброго времени суток!
Суть:
Берем сервер из официальной доки
http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.htmlБерем клиента от туда же
http://doc.qt.io/qt-5/qtwebsockets-qmlwebsocketclient-example.htmlНемного подправим код клиента:
import QtQuick 2.0
import QtWebSockets 1.0
Rectangle {
width: 360
height: 360
WebSocket {
id: socket
url: "ws://127.0.0.1:12455"
onTextMessageReceived: {
messageBox.text = message
}
onStatusChanged: if (socket.status == WebSocket.Error) {
console.log("Error: " + socket.errorString)
} else if (socket.status == WebSocket.Open) {
socket.sendTextMessage("Hello World")
} else if (socket.status == WebSocket.Closed) {
messageBox.text += "\nSocket closed"
}
active: false
}
Text {
id: messageBox
text: socket.status == WebSocket.Open ? qsTr("Sending...") : qsTr("Welcome!")
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
trtimer.running = !trtimer.running;
//Qt.quit();
}
}
Timer {
id: trtimer
interval: 10; running: true; repeat: true
onTriggered: {
socket.active = !socket.active;
}
}
т.е. просто тупо по таймеру коннектимся, шлем "Hello world" и отключаемся.
В результате на сервере растет занимаемая память, примерно на 2kB на соединение...
такое ощущение, что
...
pClient->deleteLater();
...
не срабатывает.
Никак не могу понять как победить сей недуг...