过去,监听服务器会在 app.js 文件中创建,因此当您想要运行服务器时,您可以使用此命令。
node app.js
我最近又回到了nodejs,但现在遇到了困难,因为过去我会像这样用套接字监听服务器 -
var io = require('socket.io').listen(server);
其中服务器对象是一个正在运行的 http 服务器
node app.js
简单地编译文件,为了启动服务器,我必须使用命令
npm start
它显然运行脚本./bin/www
浏览网络有几个使用express 4和socket.io的例子 但他们都在 app.js 中初始化服务器!!!
我的印象是,如果 Express 应用程序的默认设置是不在 app.js 中设置服务器,那么这样做将是不好的做法。任何人都可以帮助指导我使用 socket.io 和 Express 4 的最佳方法吗?我应该在 app.js 中创建一个 httpServer 吗?
最佳答案
看看Where to Eat ,特别是 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);
//…
关于javascript - Express 4 和 socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23922315/