我创建了一个客户端 - 服务器系统,包括:
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
答案 0 :(得分:2)
QWebSocket类没有直接实现发送数组。您可以发送二进制或短信。有关详细信息,请参阅: http://doc.qt.io/qt-5/qwebsocket.html
这是另一种方法:
您可以使用类似
之类的内容将数组转换为长字符串str = array.toString() // This is psuedo code
在循环中并从发送方发送。然后在接收方,你可以使用诸如
之类的方法解析它str.split(...);
希望嘻嘻!
编辑:您可能已经注意到:在您的示例代码中,JSON.stringify(数组)和JSON.parse(消息)所做的只不过是将数组转换为字符串,然后再将字符串解析为数组。