如何将 socket.io 与 Node.js 上的一些简单静态 http 服务器结合起来?
How to combine socket.io with some of the simple static http servers on Node.js?
我已经创建了一个 Socket.IO 应用程序,我什至已经有了一些交互功能。但我仍然在 Apache HTTP 服务器上托管静态内容(本地主机,XAMPP 包)。其实当运行Node.js时,这是我的工作目录:
C:\xampp\htdocs\game>node nodeGame.js
我想将它全部移动到其他地方,可能将其转换为 npm 包并使用 Node.js 为用户提供 HTML 和 JavaScript 文件。如果我可以安装一些可以传递到 http
的简单处理程序,那将是最好的。类似于:
var http = Http.Server(require("really-simple-http-server"));
var io = SocketIo(http);
// Sockets below
None 我在 Whosebug 上找到的服务器似乎很简单,那么哪个最适合这个目的以及如何使用它?
您可以将 socket.io 与 Express 框架一起使用(使用 Express 作为您的 Web 服务器),然后使用 express.static()
来提供静态文件:
var express = require('express');
var app = express();
var server = app.listen(3000, function() {
console.log("server started on port 3000");
});
var io = require('socket.io').listen(server);
// set up static file serving from the public directory
app.use('/static', express.static(__dirname + '/public'));
有关使用 Express 提供静态文件的选项的详细信息是 here。
我已经创建了一个 Socket.IO 应用程序,我什至已经有了一些交互功能。但我仍然在 Apache HTTP 服务器上托管静态内容(本地主机,XAMPP 包)。其实当运行Node.js时,这是我的工作目录:
C:\xampp\htdocs\game>node nodeGame.js
我想将它全部移动到其他地方,可能将其转换为 npm 包并使用 Node.js 为用户提供 HTML 和 JavaScript 文件。如果我可以安装一些可以传递到 http
的简单处理程序,那将是最好的。类似于:
var http = Http.Server(require("really-simple-http-server"));
var io = SocketIo(http);
// Sockets below
None 我在 Whosebug 上找到的服务器似乎很简单,那么哪个最适合这个目的以及如何使用它?
您可以将 socket.io 与 Express 框架一起使用(使用 Express 作为您的 Web 服务器),然后使用 express.static()
来提供静态文件:
var express = require('express');
var app = express();
var server = app.listen(3000, function() {
console.log("server started on port 3000");
});
var io = require('socket.io').listen(server);
// set up static file serving from the public directory
app.use('/static', express.static(__dirname + '/public'));
有关使用 Express 提供静态文件的选项的详细信息是 here。