您能否从 Web 浏览器加载 Socket.IO(快速)服务器

Can you have a Socket.IO (express) server be loaded from a web browser?

本文关键字:IO 快速 服务器 Socket 加载 Web 浏览器      更新时间:2023-09-26

你知道,一个Web服务器。现在,我的 Socket.IO 服务器从作为JavaScript文件的BATCH文件加载。您可以使用节点并使 socket.io 服务器从Web浏览器加载吗?比如网络服务器实用程序工具或类似的东西。

由于WebSockets的设计,这显然是不可能的。它从一个特殊的HTTP请求开始,在握手之后,删除HTTP协议并将其剥离到WebSocket协议中 - 一个几乎裸露的协议,类似于原始TCP(但比原始TCP稍微管理更多(。由于 Web 浏览器专门无法处理 HTTP 请求,因此它永远无法将套接字作为服务器启动。

这是专门完成的,因此不可能编写一个路过僵尸网络网站来使用数十台用户的计算机进行DDOS攻击,而他们不知情,以及其他安全问题。

因此,如果Flash支持这种行为,我不会感到惊讶。 ;)(我知道Java可以,但谁能支持Java小程序呢?

我会说你可以。并不是说我想不出一个好的用例。

您需要将启动代码放在Web服务器可以运行它的地方,并且需要让Web服务器向浏览器返回一些信息以允许它连接。您还必须在套接字服务器启动后将 socket.io 代码插入浏览器。

所以我认为这确实是可能的,但相当复杂,收效甚微。我想一个可能的用例是在失败后重新启动套接字服务器。实际上,我会以稍微不同的方式执行此操作,可能是通过从 Node 调用外部脚本。

幸运的是答案是否定的。 但是,您可以在服务器上创建一个脚本,该脚本在客户端请求 URL 时启动另一台服务器。