Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用stringify通过套接字发送数据_Javascript_Node.js_Sockets_Websocket - Fatal编程技术网

Javascript 使用stringify通过套接字发送数据

Javascript 使用stringify通过套接字发送数据,javascript,node.js,sockets,websocket,Javascript,Node.js,Sockets,Websocket,对于如何将这些数据字符串化,我有点不知所措 如果我通过插座发送以下信息(通过旋钮移动,其中v是我们的数据): 然后在收到数据时: socket.onmessage = function(evt){ console.log("synth from another browser " + evt.data); } 控制台将记录一些对象的效果。这告诉我,我需要按照说明用JSON编码数据。我只是不知道这是怎么回事 因此,我认为首先要发送: var object; socket.sen

对于如何将这些数据字符串化,我有点不知所措

如果我通过插座发送以下信息(通过旋钮移动,其中v是我们的数据):

然后在收到数据时:

 socket.onmessage = function(evt){
console.log("synth from another browser " + evt.data);
    }
控制台将记录一些对象的效果。这告诉我,我需要按照说明用JSON编码数据。我只是不知道这是怎么回事

因此,我认为首先要发送:

var object;    
socket.send(JSON.stringify(object));
然后接收

socket.onmessage = function(evt){
var object = JSON.parse(evt.data);
console.log("synth from another browser " + object);
    }

代码被搁置

我最后确实弄明白了

//inside the knob handler
var synthobject = {"freq":v, "gate":"1"};     
var jsonstring = JSON.stringify(synthobject);      
socket.send(jsonstring);


   //inside the socket section
 socket.onmessage = function(evt){
 var jsonobject = JSON.parse(evt.data);
 console.log("json import " + jsonobject.freq);
 synth.set("mySynth.freq", jsonobject.freq);
         }

我最终还是弄明白了

//inside the knob handler
var synthobject = {"freq":v, "gate":"1"};     
var jsonstring = JSON.stringify(synthobject);      
socket.send(jsonstring);


   //inside the socket section
 socket.onmessage = function(evt){
 var jsonobject = JSON.parse(evt.data);
 console.log("json import " + jsonobject.freq);
 synth.set("mySynth.freq", jsonobject.freq);
         }

如果你的控制台打印了[Object Object],这意味着你正在向web套接字发送一个Javascript对象,你不需要对它进行字符串化,我不确定。。控制台应该向他显示对象内容,而不仅仅是[object object]。@Nico在向字符串添加对象时不会显示。在这种情况下,对象将被字符串化为
[object object]
。它应该是
console.log(“来自另一个浏览器的synth”,evt.data)
(逗号而不是加号)@robertklep你完全正确!如果你的控制台打印了[Object Object],这意味着你正在向web套接字发送一个Javascript对象,你不需要对它进行字符串化,我不确定。。控制台应该向他显示对象内容,而不仅仅是[object object]。@Nico在向字符串添加对象时不会显示。在这种情况下,对象将被字符串化为
[object object]
。它应该是
console.log(“来自另一个浏览器的synth”,evt.data)
(逗号而不是加号)@robertklep你完全正确!