mirror of
https://gitlab.com/eql/lqml.git
synced 2026-02-05 07:12:40 -08:00
revision of example 'clog-demo'
This commit is contained in:
parent
0aed433b52
commit
7cfe241a08
3 changed files with 55 additions and 46 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
50
examples/clog-demo/qml/ext/Server.qml
Normal file
50
examples/clog-demo/qml/ext/Server.qml
Normal file
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue