关于使用socket.io的服务端js和客户端js的问题
发布于 7 年前 作者 liyong520 4261 次浏览 来自 问答

是这样的,我把客户端的 socket.io.js文件单独放到静态文件夹public/js下去了,服务端require(‘socket.io’)(http)这样去引用的模块,在项目目录 /node_modules/下,这样启动之后一直报下图的问题 QQ截图20170811144048.png 首先服务端js启动没有报错,运行也正常,请问有什么好的解决方案?

另外问题2,我数据库查询经常会遇到这样的问题: 如果一段时间没有请求到来,之后再请求一次,数据库那里就会报错,说是 Cannot read property ‘0’ of undefined QQ截图20170811144454.png 出错的地方代码:

        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 好的,我试试,谢谢你哈

大概服务器端配置了socket.io之后,就将socket.client.js 映射到指定路径上,比如’/socket.io/socket.io.js’

为啥要单独拿出来用啊

来自酷炫的 CNodeMD

回到顶部