mysql - node.js - 从 mysql 数据库重复更新网页

标签 mysql node.js repeat

我正在尝试创建一个 node.js 应用程序,每隔几秒自动使用 mysql 数据库中的新数据更新网页。我关注了这个网站上的信息:http://www.gianlucaguarini.com/blog/push-notification-server-streaming-on-a-mysql-database/

该站点上的代码确实有效,但经过进一步测试,它会继续运行“处理程序”函数,因此对处理的数据库的每一行执行 readFile 函数。

我正在学习node.js,但不明白为什么处理函数不断被调用。我只希望每个连接调用一次。像这样不断地读取index.html文件似乎效率很低。

我知道处理函数不断被调用的原因是我在处理函数中放置了一个 console.log("Hello"); 语句,并且它不断将该行输出到控制台。

最佳答案

您是否提供 client.html 正在查找的图像 URL?我认为正在发生的事情是这样的:

客户端通过 Socket.IO 连接到服务器并检索用户信息(user_name、user_description 和 user_img)。然后,客户端立即尝试使用 user_img URL 加载图像。然而,作者的服务器代码似乎不支持提供这些图片。相反,它只是为每个请求返回相同的 client.html 文件。这就是为什么它似乎一遍又一遍地调用处理程序 - 它试图为每个用户加载图片。

我建议在 Node 中使用express模块​​来提供静态文件,而不是尝试手动完成。您的代码将如下所示:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

http.use(app.static(__dirname + "/public"));

这实质上是说提供他们从公共(public)文件夹请求的任何静态文件。在该文件夹中,您将放置 client.html 以及用户照片。

关于mysql - node.js - 从 mysql 数据库重复更新网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29187915/

相关文章:

node.js - NPM self_signed_cert_in_chain

mysql - 容器化服务器应用程序无法连接到 MySQL 数据库

height - 容器背景不重复

mysql - 重复更新 SQL 语句

java - 代码工厂方法

mysql - 更改 Rails 中现有列的位置

php - 查询执行时间问题

php - 如何将具有相同ID的数组值插入mysql

mysql - 如何将以下 MySQL 模式转换为 CouchDB?

javascript - Node.js 正则表达式 : Find all CSS properties in a stylesheet not in the comments