Russian Qt Forum
Апрель 28, 2024, 02:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Расход памяти QWebSocketServer'ом  (Прочитано 3552 раз)
oscar
Гость
« : Ноябрь 04, 2015, 22:29 »

Всем доброго времени суток!
Суть:
Берем сервер из официальной доки 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();
...
не срабатывает. В замешательстве
Никак не могу понять как победить сей недуг...
« Последнее редактирование: Ноябрь 04, 2015, 23:55 от oscar » Записан
oscar
Гость
« Ответ #1 : Февраль 23, 2016, 19:49 »

апну тему... уже весь мозг сломал... пришлось переделать на SNMP, но заказчик хочет именно WebSocket'ом...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.