我是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)