javascript - SocketIO和NodeJS没有express?

标签 javascript php node.js socket.io

我有一个用 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/

相关文章:

javascript - 将reactjs组件作为 Node 模块导出到npm时,我是否包含jsx或js

JavaScript 对象函数未获得引用

node.js - 单元测试 - 与 supertest 开 Jest 会超时

node.js - 用户无权执行 : dynamodb:PutItem on resource

Javascript 数组 - 从文本框(jquery)中提取的字符串创建

php - 如何使用 wordpress 转义功能来回显 Google Adsense 代码?

javascript - 循环进入表并从列内的不同输入获取值

php - 为什么这个 PHP 脚本显示 ' Webpage Not Available '

node.js - 无法让 nodejs 在 amazon ec2 实例上工作

javascript - 如何使用 JavaScript 检测 Internet Explorer (IE) 和 Microsoft Edge?