nodejs如何将数据返回到html,html5,node.js_如何用nodejs接收GPS发送的数据,并实时返回前台页面,html5,node.js,javascript - phpStudy...

如何用nodejs接收GPS发送的数据,并实时返回前台页面

我的需求是这样的:

1、通过GPS向一个固定IP下的某一个端口发送实时坐标信息。

2、用nodejs写一个后台,获取GPS发送的坐标信息。

3、使用nodejs中的socket.io包结合html5的websocket把数据实时的返回到前台页面,然后再在前台页面展示GPS数据。

开发环境:

使用TCP/UDP Socket调试工具模拟GPS发送数据;

Visual Studio Code 开发;

目前我遇到的问题:

1、获取GPS数据后,使用socket.io把数据发送到前台后都是undefined。

2、我把接收数据和向前台发送数据写在一共页面中是否可以这样写?

3、我的代码逻辑有没有问题?

使用TCP/UDP Socket调试工具模拟GPS发送数据:

nodejs后台可以接受到发送的数据:

前台页面展示数据:

系统后台:

//接受gps发送的数据

var net = require('net');

var HOST = 'localhost';

var DataPORT = 1000;

var GPSData="";

var server = net.createServer(function (socket){

server.on('connection', function(sock) {

console.log('GPS接收端口已连接: ' + String(sock.remoteAddress) +':'+ String(sock.remotePort));

});

socket.on('data', function(data) {

var response = data.toString().trim();

console.log(String(response));

GPSData=String(response);

io.emit('message', String(response));

// if (/disconnect/.test(response)) {

// console.log("Client is diconnecting.");

// socket.end('Disconnecting you now.\r\n');

// }

});

socket.on('end', function() {

console.log('GPS接收端口已关闭!');

});

});

server.listen(DataPORT,function(){

console.log("服务器已启动数据接收端口,端口号为:" + DataPORT);

});

//向前端页面发送接收到的gps数据

var app = require('express')();

var http = require('http').Server(app);

var messagePort=3000;

var io = require('socket.io')(http);

app.get('/', function(req, res){

res.send('

Welcome Realtime Server

');

});

//在线用户

var onlineUsers = {};

//当前在线人数

var onlineCount = 0;

io.on('connection', function(socket){

console.log('a user connected');

//监听新用户加入

socket.on('login', function(obj){

//将新加入用户的唯一标识当作socket的名称,后面退出的时候会用到

socket.name = obj.userid;

//检查在线列表,如果不在里面就加入

if(!onlineUsers.hasOwnProperty(obj.userid)) {

onlineUsers[obj.userid] = obj.username;

//在线人数+1

onlineCount++;

}

//向所有客户端广播用户加入

io.emit('login', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj});

console.log(obj.username+'加入了聊天室');

});

//监听用户退出

socket.on('disconnect', function(){

//将退出的用户从在线列表中删除

if(onlineUsers.hasOwnProperty(socket.name)) {

//退出用户的信息

var obj = {userid:socket.name, username:onlineUsers[socket.name]};

//删除

delete onlineUsers[socket.name];

//在线人数-1

onlineCount--;

//向所有客户端广播用户退出

io.emit('logout', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj});

console.log(obj.username+'退出了聊天室');

}

});

//监听用户发布聊天内容

socket.on('message', function(obj){

//向所有客户端广播发布的消息

io.emit('message', GPSData);

console.log(obj.username+'说:'+obj.content);

});

});

http.listen(3000, function(){

console.log('服务器已启动websocket端口,端口号为:' + messagePort);

});

相关阅读:

用Jsoup解析html的时候,getElementsByTag获取不到Element

rc.local 自启动脚本的问题

关于2017年date对象的getyear()问题

应该以什么方式给别人发送在idea中创建的java-web项目?

为何没有权限

通过Javascript得到URL中的参数(query string)

用什么类 可以每隔一段时间执行一次代码 包括在后台

vue watch路由变化执行函数问题求助

'Population' has not been declared

Python的闭包, 有内存泄露的实例吗?

网站除联系方式外,其他内容被别人恶意实时同步

我该相信哪个?jsPerf or JSLitmus?

git 本地文件内容更改以后怎么同步到远程仓库

JS怎样找出字符串中的某些内容并加上标签?

mac用什么工具链接sqlserver

服务器如何通过app获取用户行为,一般以什么样方式保存

1-99正整数的正则

h5语义化是如何提高用户体验的,具体体现在哪些方面?

c++中关于boolalpha用法问题

mysql 用户的消息查询问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值