繁体   English   中英

如何使用QWebSocket发送数组?

[英]How to send an array using QWebSocket?

我创建了一个客户端-服务器系统,其中包括:

  • 一个node.js服务器(带有ws模块);
  • WebClient;
  • 一个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类没有用于发送数组的直接实现。 您可以发送二进制或文本消息。 有关详细信息,请参阅: http : //doc.qt.io/qt-5/qwebsocket.html

这是另一种方法:

您可以使用以下方法将数组转换为长字符串

str = array.toString() // This is psuedo code

循环并从发送方发送。 然后在接收方,您可以使用诸如

str.split(...);

希望麻!

编辑:您可能已经注意到:在示例代码中,JSON.stringify(array)和JSON.parse(message)所做的只是将数组转换为字符串,然后再次将字符串解析为数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM