Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 Socket和node.js发送_Javascript_Node.js_Sockets - Fatal编程技术网

Javascript Socket和node.js发送

Javascript Socket和node.js发送,javascript,node.js,sockets,Javascript,Node.js,Sockets,我正在尝试使用socket.io和node.js更新google地图上的位置 我有两种不同的方法来更新地图。可能是一些基本的问题,因为我是新手 1) 使用如下所示的API调用: app.post('/location',函数(请求,响应){ 我可以看到它在控制台中发送数据: 调试-websocket写入3:::{“类型”:“gps”,“数据”:{“gps_纬度”:“59.33535”,“gps_标题”:“0.0”,“gps_时间戳”:“139713241154”,“gps_速度”:“0.0”,“

我正在尝试使用socket.io和node.js更新google地图上的位置 我有两种不同的方法来更新地图。可能是一些基本的问题,因为我是新手

1) 使用如下所示的API调用:

app.post('/location',函数(请求,响应){

我可以看到它在控制台中发送数据:

调试-websocket写入3:::{“类型”:“gps”,“数据”:{“gps_纬度”:“59.33535”,“gps_标题”:“0.0”,“gps_时间戳”:“139713241154”,“gps_速度”:“0.0”,“设备id”:“oscar”,“gps_经度”:“17.9996720999998”}

但是地图不会被更新。在地图客户端,我有这个代码,但当我尝试通过上面的套接字代码进行tpo更新时,从未被触发

socket = io.connect(socket_url);

  socket.on('message', function(d){
    console.log("update position");
    var parsedObj = JSON.parse(d);
    if(parsedObj.type === 'gps'){
      var gps = parsedObj.data;
      $('#messages').append(formatGPSHTMLOutput(gps));
      processGPS(gps);
    }
  });
你应该使用

client.emit('position', {your:"jsondata"})
而不是client.send,如果使用

client.on('position', callback)
在服务器端,您还需要使用

socket.on('position', callback) 

在客户端

Hmm现在我没有真正关注。我有两个客户端页面。1)它发送它的位置。2)它通过服务器从第1页获取位置。在第1页发送位置我有:函数initSocket(){socket=io.connect(socket\u url);socket.emit('position',{gps_纬度:'59.33535',gps_标题:'0.0',gps_时间戳:'139713241524',gps_速度:'0.0',设备_id:'oscar',gps_经度:'17.99967209998'});console.log('Send position');}并在服务器上执行脚本。但是服务器和第2页之间的连接似乎不起作用。
client.on('position', callback)
socket.on('position', callback)