我刚开始进入Node.js. 我来自PHP背景,所以我很习惯使用MySQL来满足我所有的数据库需求.
如何在Node.js中使用MySQL?
我正在使用带有PHP和一些Javascript的websockets.我将数据库中的一些信息显示给我的客户端.我的目标是在信息插入我的数据库时刷新客户端.要在我的数据库中插入一些数据,我从我的PC发送一个帖子请求.
此刻,我可以刷新客户端每10秒调用一次函数.但是,只有在该页面上发送POST请求时,我才想刷新.
这可以帮助您理解:
这就是我所做的:
index.php(显示信息的页面)
$(document).ready(function(){
//create a new WebSocket object.
var wsUri = "ws://localhost:9000/server.php";
websocket = new WebSocket(wsUri);
websocket.onopen = function(ev) { // connection is open
$('#message_box').append("<div class=\"system_msg\">Connected!</div>"); //notify user
}
// Call this function every 10 sec to refresh the client
window.setInterval(function(){
displayInfo(1);
}, 10000);
websocket.onmessage = function(ev) {
var msg = JSON.parse(ev.data); //PHP sends Json data
$("#infos").html(msg.message);
};
websocket.onerror = function(ev){$('#message_box').append("<div class=\"system_error\">Error Occurred - "+ev.data+"</div>");};
websocket.onclose = function(ev){$('#message_box').append("<div class=\"system_msg\">Connection Closed</div>");}; …
Run Code Online (Sandbox Code Playgroud)我是Web开发的初学者。最近,我一直在一个完全基于PHP和JS / jQuery的实时聊天网站上工作(我没有使用任何框架)。目前,我的设置只是简单的AJAX轮询,显然不如我希望的那样好。我的数据库是MYSQL数据库。
我已经阅读了有关websockets的信息,我的新初始计划是使用Socket.io创建一个NodeJS服务器来处理消息(如何集成nodeJS + Socket.IO和PHP?),并且我考虑将这些消息存储在MySQL数据库中(使用Node.js的MySQL)。
这是我目前所拥有的(不多,我想在实际取得进展之前阐明如何进行发展)。这是我的测试设置,实际聊天中使用的HTML显然有所不同。
Node.js服务器:
// NODE
var socket = require( 'socket.io' );
var express = require( 'express' );
var https = require( 'https' );
var http = require( 'http'); //Old
var fs = require( 'fs' );
var app = express();
//Working HTTPS server
var server = https.createServer({
key: fs.readFileSync('/etc/letsencrypt/live/%site%/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/%site%/fullchain.pem')
},app);
// var server = https.createServer( app ); Won't work cause no cert.
var io = socket.listen( server );
console.log("Server Started"); …
Run Code Online (Sandbox Code Playgroud)