您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 三亚分类信息网,免费分类信息发布

javascript - nodejs监听房间问题

2025/8/10 17:22:29发布5次查看
1.app.js
var app = require('express')();var server = require('http').server(app);var io = require('socket.io')(server);var http = require('http');// 监听端口server.listen(8080);app.get('/test', function(req, res) { var id = req.query.id; var room = '/'+id; io.of(room).emit('message', {flag: 'refresh'}); res.send(id);});

2.index.html
var id = 1; //id是变量,由控制器模板赋值来的。为了简化程序我先给一个固定的值var ws = io.connect('http://192.168.0.30:8888/'+id);ws.on('message', function(obj){ console.log(obj);});

首先我打开浏览器新建一个窗口访问http://192.168.0.30:8888/test?id=1,然后打开index.html按下f12,控制台没有东西输出。然后我重新刷新index.html,再次访问http://192.168.0.30:8888/test?id=1时,控制台就有东西了输出了。以后每次访问http://192.168.0.30:8888/test?id=1,index.html的控制台都有东西输出。觉得很奇怪。
请问为什么第一次访问index.html的时候控制台为啥没东西输出?问题可能描述的不清楚,请大神们帮忙解答下。在不知道id是什么值得情况下,要怎么实现这个功能?
回复内容: 1.app.js
var app = require('express')();var server = require('http').server(app);var io = require('socket.io')(server);var http = require('http');// 监听端口server.listen(8080);app.get('/test', function(req, res) { var id = req.query.id; var room = '/'+id; io.of(room).emit('message', {flag: 'refresh'}); res.send(id);});

2.index.html
var id = 1; //id是变量,由控制器模板赋值来的。为了简化程序我先给一个固定的值var ws = io.connect('http://192.168.0.30:8888/'+id);ws.on('message', function(obj){ console.log(obj);});

首先我打开浏览器新建一个窗口访问http://192.168.0.30:8888/test?id=1,然后打开index.html按下f12,控制台没有东西输出。然后我重新刷新index.html,再次访问http://192.168.0.30:8888/test?id=1时,控制台就有东西了输出了。以后每次访问http://192.168.0.30:8888/test?id=1,index.html的控制台都有东西输出。觉得很奇怪。
请问为什么第一次访问index.html的时候控制台为啥没东西输出?问题可能描述的不清楚,请大神们帮忙解答下。在不知道id是什么值得情况下,要怎么实现这个功能?
三亚分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product