关于使用socket.io的服务端js和客户端js的问题
是这样的,我把客户端的 socket.io.js文件单独放到静态文件夹public/js下去了,服务端require(‘socket.io’)(http)这样去引用的模块,在项目目录 /node_modules/下,这样启动之后一直报下图的问题 首先服务端js启动没有报错,运行也正常,请问有什么好的解决方案?
另外问题2,我数据库查询经常会遇到这样的问题: 如果一段时间没有请求到来,之后再请求一次,数据库那里就会报错,说是 Cannot read property ‘0’ of undefined 出错的地方代码:
connection.query('SELECT department_name from department where id=?',[decoded.departmentId], function (error, results) {
** var departmentName=results[0].department_name;**
res.render("chatRoom",{
"userid":decoded.id,
"departmentName":departmentName,
"nickName":decoded.nickName,
"imgUrl":decoded.imgUrl,
"administrativeClass":decoded.administrativeClass,
"stuNumber":decoded.stuNumber
});
res.end();
return;
});
5 回复
你这是socket.io服务没有启动,没有配置好
socket.io.js无需单独提出来,配置好后,直接可以使用,当然用cdn另当别论
猜测你是使用express构建,在bin\www
文件中配置,
/**
* Create HTTP server.
*/
var server = http.createServer(app);
var io = require('socket.io')(server); //socket.io 在此配置
web页面
<script src="/socket.io/socket.io.js"></script>
至于你的第二个错误,显然是值不正确,要检查自己的代码
@aofong 好的,我试试,谢谢你哈
@aofong 正解
大概服务器端配置了socket.io之后,就将socket.client.js 映射到指定路径上,比如’/socket.io/socket.io.js’
为啥要单独拿出来用啊
来自酷炫的 CNodeMD