如何使用 QWebSocket 发送数组?
How to send an array using QWebSocket?
我创建了一个客户端-服务器系统,包括:
- 一个node.js服务器(带有模块ws);
- 一个网络客户端;
- 一个QtClient(使用Qt5.4和QWebSocket)。
QtClient通过方法QWebSocket.sendTextMessage (QString s)
发送和接收字符串。如何发送字符串数组?
其他信息:
WebClient 使用 JSON:
发送一个数组
# index.html (WebClient)
socket.onopen = function() {
var array = {
value1: "WebClient value1 = v1",
value2: "WebClient value2 = v2"
};
socket.send(JSON.stringify(array), {binary: true, mask: false});
};
# server.js
socket.on('connection', function(ws) {
ws.on('message', function(message) {
var array = JSON.parse(message);
console.log(array["value1"]);
console.log( array["value2"]);
});
});
# console node
C:\Users\PietroP\Desktop\cs\v0.3>node server.js
Server connect on http://192.168.1.60:3000/
a user connected
WebClient value1 : v1
WebClient value2 : v2
QWebSocket class 没有直接实现发送数组。您可以发送二进制或文本消息。详情请参考:
http://doc.qt.io/qt-5/qwebsocket.html
这是另一种方法:
您可以使用类似
的方式将数组转换为长字符串
str = array.toString() // This is psuedo code
循环并从发件人端发送。然后在接收方,您可以使用
等方法对其进行解析
str.split(...);
希望有所帮助!
编辑:您可能已经注意到:在示例代码中,JSON.stringify(array) 和 JSON.parse(message) 所做的只是将数组转换为字符串,然后解析字符串再次进入数组。
我创建了一个客户端-服务器系统,包括:
- 一个node.js服务器(带有模块ws);
- 一个网络客户端;
- 一个QtClient(使用Qt5.4和QWebSocket)。
QtClient通过方法QWebSocket.sendTextMessage (QString s)
发送和接收字符串。如何发送字符串数组?
其他信息:
WebClient 使用 JSON:
发送一个数组# index.html (WebClient)
socket.onopen = function() {
var array = {
value1: "WebClient value1 = v1",
value2: "WebClient value2 = v2"
};
socket.send(JSON.stringify(array), {binary: true, mask: false});
};
# server.js
socket.on('connection', function(ws) {
ws.on('message', function(message) {
var array = JSON.parse(message);
console.log(array["value1"]);
console.log( array["value2"]);
});
});
# console node
C:\Users\PietroP\Desktop\cs\v0.3>node server.js
Server connect on http://192.168.1.60:3000/
a user connected
WebClient value1 : v1
WebClient value2 : v2
QWebSocket class 没有直接实现发送数组。您可以发送二进制或文本消息。详情请参考: http://doc.qt.io/qt-5/qwebsocket.html
这是另一种方法:
您可以使用类似
的方式将数组转换为长字符串str = array.toString() // This is psuedo code
循环并从发件人端发送。然后在接收方,您可以使用
等方法对其进行解析str.split(...);
希望有所帮助!
编辑:您可能已经注意到:在示例代码中,JSON.stringify(array) 和 JSON.parse(message) 所做的只是将数组转换为字符串,然后解析字符串再次进入数组。