javascript - socket.io 服务器对象选项,两者之间有什么影响?

标签 javascript node.js websocket socket.io

摘自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/

相关文章:

javascript - toLocaleDateString() - 挪威语问题

javascript - 使用 HTML/CSS 替代 XMLHttpRequest?

javascript - 我怎样才能渲染jade文件

session 突然不起作用

c# - 炼金术 WebSocketClient

html - 带有 node.js/socket.io 的客户端 tcp?

javascript - 悬停在其他标签元素上

node.js - 我可以向 NPM 添加调试脚本吗?

c# - .NET Core 是否支持 Web 套接字?抛出“System.Net.WebSockets.WebSocketException 异常

javascript - 本地安装的 PDF.JS 不渲染