0

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

4

3 回答 3

1

由于WebSockets的设计,这显然是不可能的。它从一个特殊的 HTTP 请求开始,在握手之后,丢弃 HTTP 协议并将其分解为 WebSocket 协议——一个几乎裸露的协议,类似于(但比原始 TCP 更易于管理)。因为 Web 浏览器无法处理 HTTP 请求,所以它永远无法将套接字作为服务器启动。

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

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

于 2012-05-16T04:56:26.710 回答
1

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

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

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

于 2012-05-16T06:35:11.503 回答
0

幸运的是,答案是否定的。如果你的意思是加载/启动,不。但是您可以在服务器上创建一个脚本,一旦客户端请求 url,就可以启动另一台服务器。

于 2012-05-16T04:43:23.710 回答