摘自socket.io文档here ,您可以使用http.Server
对象,或者简单地将端口号传递到socket.io服务器对象中。 有什么区别?
创建socket.io对象
const io = require('socket.io')({
path: '/test',
serveClient: false,
});
从http库创建一个服务器对象并将其注入(inject)到socket.io对象中
const server = require('http').createServer();
io.attach(server, {
pingInterval: 10000,
pingTimeout: 5000,
cookie: false
});
server.listen(3000);
或者简单地将端口号传递给 socket.io 对象,它将为您创建一个服务器
io.attach(3000, {
pingInterval: 10000,
pingTimeout: 5000,
cookie: false
});
最佳答案
通过连接到服务器,您可以在现有服务器应用程序上使用 socket.io 函数,该应用程序已经提供文件服务并响应 api 调用。通过将端口作为参数传递,socket.io 将为它的功能生成一个单独的服务器。如果您仅将其用于套接字功能,则两者都可以。
但是,当您想要使用 SSL 时,最好附加到服务器。在这种情况下,您只需传递 HTTPS 服务器即可。我找不到任何带有使用 SSL 的端口选项的示例。
关于javascript - socket.io 服务器对象选项,两者之间有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58016215/