From 7cfe241a08ad0dc7ea26ba2a890fe4e444cc12dc Mon Sep 17 00:00:00 2001 From: "pls.153" Date: Wed, 30 Mar 2022 11:24:46 +0200 Subject: [PATCH] revision of example 'clog-demo' --- examples/clog-demo/qml/ext/Browser.qml | 5 +++ examples/clog-demo/qml/ext/Log.qml | 46 ------------------------ examples/clog-demo/qml/ext/Server.qml | 50 ++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 examples/clog-demo/qml/ext/Server.qml diff --git a/examples/clog-demo/qml/ext/Browser.qml b/examples/clog-demo/qml/ext/Browser.qml index 6761b46..c7f7c6a 100644 --- a/examples/clog-demo/qml/ext/Browser.qml +++ b/examples/clog-demo/qml/ext/Browser.qml @@ -3,6 +3,11 @@ import QtQuick.Controls 2.15 import QtWebView 1.15 Item { + Loader { + active: (Qt.platform.os === "ios") + source: "Server.qml" + } + WebView { id: browser objectName: "browser" diff --git a/examples/clog-demo/qml/ext/Log.qml b/examples/clog-demo/qml/ext/Log.qml index aa942de..fab9e69 100644 --- a/examples/clog-demo/qml/ext/Log.qml +++ b/examples/clog-demo/qml/ext/Log.qml @@ -1,58 +1,12 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 -import QtWebSockets 1.15 import "." as Ext Rectangle { - id: page color: "lavender" Ext.Repl {} - // iOS only - WebSocketServer { - id: server - objectName: "server" - port: 8080 - listen: (Qt.platform.os === "ios") - - property int counter: 0 - property var client - - function send(message) { - client.sendTextMessage(message) - } - - onClientConnected: { - client = webSocket - webSocket.objectName = ++counter - page.log("[new] " + counter) - Lisp.call("clog:webview/on-new-connection") - - webSocket.onTextMessageReceived.connect(function(message) { - page.log(message) - Lisp.call("clog:webview/on-message", message) - }) - - webSocket.onStatusChanged.connect(function(status) { - var state - switch (status) { - case WebSocket.Closed: state = "close"; break - case WebSocket.Error: state = "error"; break - default: return - } - page.log("[status] " + state) - if (status === WebSocket.Closed) { - Lisp.call("clog:webview/on-close") - } - }) - } - - onErrorStringChanged: { - page.log("[server error] " + errorString) - } - } - function log(message) { logModel.append({ message: message }) listView.positionViewAtEnd() diff --git a/examples/clog-demo/qml/ext/Server.qml b/examples/clog-demo/qml/ext/Server.qml new file mode 100644 index 0000000..87897be --- /dev/null +++ b/examples/clog-demo/qml/ext/Server.qml @@ -0,0 +1,50 @@ +import QtQuick 2.15 +import QtWebSockets 1.15 +import "." as Ext + +// for iOS only + +Item { + WebSocketServer { + id: server + objectName: "server" + port: 8080 + listen: true + + property int counter: 0 + property var client + + function send(message) { + client.sendTextMessage(message) + } + + onClientConnected: { + client = webSocket + webSocket.objectName = ++counter + main.log("[new] " + counter) + Lisp.call("clog:webview/on-new-connection") + + webSocket.onTextMessageReceived.connect(function(message) { + main.log(message) + Lisp.call("clog:webview/on-message", message) + }) + + webSocket.onStatusChanged.connect(function(status) { + var state + switch (status) { + case WebSocket.Closed: state = "close"; break + case WebSocket.Error: state = "error"; break + default: return + } + main.log("[status] " + state) + if (status === WebSocket.Closed) { + Lisp.call("clog:webview/on-close") + } + }) + } + + onErrorStringChanged: { + main.log("[server error] " + errorString) + } + } +}