Javascript 如何组织web和socket.io服务器?
我有一个关于node.js的问题 是否可以有多个server.js文件 比如:你有一个“main”server.js将你路由到另一个目录,还有另一个server.js处理socket.io之类的东西 更具体地说: 我想用WebSocket构建一个游戏,并希望有一个server.js将您路由到游戏页面,然后在“游戏页面”上,我希望它将其连接到“另一个”server.js并处理诸如websockets、登录之类的事情。还是必须将所有内容都放在一个server.js文件中Javascript 如何组织web和socket.io服务器?,javascript,node.js,Javascript,Node.js,我有一个关于node.js的问题 是否可以有多个server.js文件 比如:你有一个“main”server.js将你路由到另一个目录,还有另一个server.js处理socket.io之类的东西 更具体地说: 我想用WebSocket构建一个游戏,并希望有一个server.js将您路由到游戏页面,然后在“游戏页面”上,我希望它将其连接到“另一个”server.js并处理诸如websockets、登录之类的事情。还是必须将所有内容都放在一个server.js文件中 我听说了modules.ex
我听说了modules.export功能,但我认为这不是我想要的。回答您的问题。您需要多个进程侦听不同的内容。是的,你能做到。您可能希望一个进程在端口80上侦听以处理web流量,另一个进程在另一个端口上侦听 您可以通过让两个不同的“项目”共享一个数据库来实现这一点,也可以在一个项目中的两个不同端口上启动两个不同的服务器
如果您知道这两个“服务器”的职责将非常不同(例如一个服务器处理所有游戏数据等,另一个服务器处理高分的标准web流量等),我可能会在一开始就将其拆分。两者都有可能。如果我理解正确,您需要一个web服务器和一个socket.io服务器 您可以在同一文件中执行这两项操作:
'use strict';
const express = require('express'),
socket= require('socket.io'),
app = express(),
io = socket();
//...
app.listen(80);
io.listen(12345);
在不同的文件中:
web.js:
'use strict';
const express = require('express'),
app = express();
//...
app.listen(80);
io.js:
'use strict';
const socket= require('socket.io'),
io = socket();
//...
io.listen(12345);
所以说得很清楚,您想要两个不同的服务器进程进行交互?或者一个文件启动另一个文件?我想要两个服务器进程相互交互您可以将其命名为init.js、app.js等其他名称。您可以随意命名您的文件,不一定是server.js,这只是一个每个人都遵循的名称。我建议您根据文件的使用情况给出文件名,如socket.js是的,我知道我可以随意命名,但我的问题是,我是否可以让一个节点文件“连接”到另一个节点文件,从而处理其他一些事情,如sockets。例如:我有一个带有节点的博客,现在我想在博客中添加一个游戏。我创建了一个到游戏的路由,然后是否可以将游戏内容(套接字)放在另一个节点文件中,这样它们就不会彼此独立。是的,您可以创建另一个文件来处理套接字和其他内容。您可以在不同的端口上运行它们,也可以通过给它们不同的路由在同一端口上运行它们。谢谢,这就是我想听的。还有一个问题,如果我想使两个文件都必须在同一个文件夹权利?不是必要的,他们可以完全不同的项目。