我可以在不返回 html 文件的情况下使用 NodeJS 吗?
Can I use NodeJS without returning html files?
我正在创建一个网站,该网站使用php和javascript。我只想将 NodeJS 用于网站上的实时聊天消息功能,有点喜欢 facebook。我可以在不返回任何 html 文件的情况下使用 NodeJS 吗?这实用吗?
编辑:我目前的服务器代码是这样的:
var http = require('http');
console.log("before");
var app = http.createServer(function (request, response) {
}).listen(21);
var io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
console.log("Client Connected");
});
这是相关的客户端代码
<script type="text/javascript">
var socketio = io.connect("localhost:21");
</script>
那么,为什么客户端连接从不记录呢?我在返回 html 文件时让它工作了一段时间,但由于某种原因这不起作用:|。
当然可以,看看这个,我想这可能是你要找的。
是的,但你不能使用port 21
(应该更改其他端口,我使用 3000
)。
在客户端 html 中:
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socketio = io.connect("http://localhost:3000");
</script>
是的,你可以,但是如果你想避免使用NodeJS,你可以使用Websockets for PHP来实现相同的目标。看看这个库,例如棘轮库,以便在PHP中使用Websockets
将 Node 想象成一个通用服务器,而不是专门提供 HTML 页面的 Web 服务器。是的,它可以用于 HTML,但你不需要,我认为它最常用作提供 JSON 的 RESTful 服务器。
有一些很棒的 Node 套接字库,比如 rabbit.js这对于消息传递应用程序来说是完美的。有些甚至带有一些聊天示例,例如更流行的 socket.io。
我认为在PHP系统中进行实时聊天有点困难。
实时聊天需要将数据从客户端推送和拉取到服务器。
PHP系统可以从服务器中提取数据(例如.html)。但我认为您通常不能仅在 PHP 中将数据动态发送到服务器。所以如果你想在PHP系统中进行实时聊天,你需要使用AJAX到NodeJS API。也请看这篇文章。
如何集成nodeJS + Socket.IO 和PHP?
编辑:
我认为你应该将 http 或 https 添加到 io.connect() 参数中。io.connect('http://localhost:21');
但是您应该更改端口,因为此端口不安全。例如 3000 会更好。
io.connect('http://localhost:3000');
您应该修复服务器 js 文件中的端口号。
您可以将 NodeJS 用于几乎任何事情,并且只需几百行 Socket.IO 您就可以在多种场景中推送和流式传输数据。 Github和其他网站上有很多关于这方面的信息。
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 如何在不使用 npm 包的情况下编写香草 nodejs 路由器
- 如何在不使用 express 的情况下在 nodejs 中创建会话
- nodejs或expressjs在没有返回响应的情况下重复调用路由
- Nodejs-websocket:如何在没有服务器响应的情况下连续发送客户端消息
- 有没有办法在不打包的情况下在 nodejs 上加载文件
- 使用 nodejs & expressjs:在不模板的情况下将 .env 传递给 html 的好方法是什么?
- Nodejs mongodb在不实际获取光标的情况下获取文档大小
- NodeJS在未退出的情况下引发错误
- Nodejs如何在没有settimeout的情况下访问回调结果
- 如何在不刷新html页面的情况下显示表上的数据(使用nodejs &mysql ajax)
- 在保持格式nodejs的情况下更改xsl工作表中的单元格值
- Nodejs - request.get(url)返回二进制数据在yahoo.com的情况下
- 如何让nodejs在没有端口号的情况下在Apache服务器上运行
- 如何在没有 NodeJS 的情况下使用 JavaScript 连接到 RabbitMQ
- Nodejs 如何在阻塞进程的情况下处理多个并行请求
- 我可以在不返回 html 文件的情况下使用 NodeJS 吗?
- 在不使用php或nodeJs的情况下验证用户