Javascript Socket和node.js发送
我正在尝试使用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更新时,从未被触发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.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)