我有一个用 PHP 编写的完全独立的网站,我正在尝试一起使用 Node 和 socketIO 的功能来发送消息。
我想创建一个“{username} 访问过 {page}”系统,这样我就可以实时查看用户何时登录、访问哪些页面以及网站上的其他内容。
我不确定 NodeJS + SocketIO 是否是最好的选择,但我不知道有什么更好的方法。当我在谷歌上找到的每个例子都依赖于express时,问题就出现了。
是否有或任何人都可以发布一个干净的socketIO和代码的最小示例,而不依赖于express来打印html。
最佳答案
你的概念很扎实(PHP用于应用程序,SocketIO用于动态数据更新)。 SocketIO 可以使用下面的基本 http 服务器。不要忘记添加 socketIO 的客户端库。直接来自此处的文档 https://socket.io/docs/ :
var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(80);// <---- change the port
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
这是文档中的客户端:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
关于javascript - SocketIO和NodeJS没有express?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981324/