我想使用Node.js作为后端服务器运行以服务前端socket.io请求。Node.js充当前端应用程序的后端服务器
我发现的示例似乎只能从Node.js服务器运行页面。
<script src="/socket.io/socket.io.js"></script>
上面JS包括由Node.js的服务,如何将它包含如果前端是不同的应用程序(例如PHP或静态网页)?我是否需要包含所有依赖的socket.io js库以使其工作?
我想使用Node.js作为后端服务器运行以服务前端socket.io请求。Node.js充当前端应用程序的后端服务器
我发现的示例似乎只能从Node.js服务器运行页面。
<script src="/socket.io/socket.io.js"></script>
上面JS包括由Node.js的服务,如何将它包含如果前端是不同的应用程序(例如PHP或静态网页)?我是否需要包含所有依赖的socket.io js库以使其工作?
我currrently运行的Apache/php与node.js/socket.io 如果这是你要做的,你可以通过在不同的端口上提供socket.io来实现它(假设为80)。
在node.js的,初始化socket.io监听端口8080上,例如:
var io = require('socket.io').listen(8080);
我相信,在默认情况下,socket.io还能够方便地服务于它的静态客户端文件给你,这样在你html中,你可以:
<script src="http://yourhost:8080/socket.io/socket.io.js"></script>
希望有帮助。
谢谢,它的工作原理。 – superche
这一切都取决于您的服务器配置。您可以选择一条未被任何其他资源使用的Node.js后端路径,并将您的Web服务器配置为服务其他所有内容。
E.g.为Apache我用ProxyPass指令使一个地方的Node.js连接的不同端口上(绕过本地端口限制),但可能无法满足您的选项:
ProxyPass /help/server/ http://localhost:8002/ connectiontimeout=1500ms
我的问题是:我希望Node.js服务于前端应用程序(PHP或静态页面)socket.io请求的请求,并且我不知道如何正确包含socket.io库,导致我找到的所有示例运行前端由Node.js – superche
没有依赖库AFAIK。此外,你将不得不使用完整的URL为socket.io脚本(除非你做一些奇特的代理),因为Node.JS和PHP不能在同一个端口上侦听。 – freakish
@freakish如果我打开socket.io.js,我可以看到如下代码:var client = require('socket.io-client');这是不正常的JavaScript代码,必须有一些库依赖。 – superche
这是一个服务器端脚本,您正在查看不正确的文件。 URL:'/ socket.io/socket.io.js'被重定向到另一个文件,目前我找不到它。但你可以在浏览器中查看它。 – freakish