Javascript Express 4和socket.io
过去,侦听服务器将在app.js文件中创建,因此当您想要运行服务器时,可以使用此命令Javascript Express 4和socket.io,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,过去,侦听服务器将在app.js文件中创建,因此当您想要运行服务器时,可以使用此命令 node app.js 我最近又回到了nodejs,现在遇到了困难,因为在过去,当我用我的套接字收听服务器时,我会这样做- var io = require('socket.io').listen(server); 其中,服务器对象是http服务器,现在正在运行 node app.js 只需编译文件,为了启动服务器,我必须使用以下命令 npm start 显然是在运行脚本。/bin/www 浏览web有
node app.js
我最近又回到了nodejs,现在遇到了困难,因为在过去,当我用我的套接字收听服务器时,我会这样做-
var io = require('socket.io').listen(server);
其中,服务器对象是http服务器,现在正在运行
node app.js
只需编译文件,为了启动服务器,我必须使用以下命令
npm start
显然是在运行脚本。/bin/www
浏览web有几个使用express 4和socket.io的示例
但是他们都在app.js中初始化服务器
我的印象是,如果express应用程序的默认设置是不在app.js中安装服务器,那么这样做是不好的做法。有谁能帮助我找到在express 4中使用socket.io的最佳方法吗?我应该在app.js中创建一个httpServer吗?看看,尤其是app.js
http服务器在app.js中定义:
var express = require('express'),
socketio = require('./data/socket');
接下来,将服务器传递给init函数这是app.js中的socketio的用途,它告诉socket.io侦听传递的服务器对象:
//start up socket.io
socketio(server);
所有套接字事件处理程序都保持良好状态,并捆绑在/data/socket中
var socketio = require('socket.io'),
module.exports = initSockets;
function initSockets(server){
var io = socketio.listen(server);
//…
在app.js中创建一个http服务器并没有错,它还运行package.json中定义的启动脚本。这可能会回答这个问题,在这里包括答案的基本部分,并提供链接以供参考。