【问题标题】:Socket.io and PHPSocket.io 和 PHP
【发布时间】:2014-08-16 22:40:24
【问题描述】:

谁能告诉我socket.io是否仅在您的客户将使用的页面是HTML页面时才有用。

我想创建一个节点服务器,可以将事件推送到我现有的 PHP 页面。

页面不同,没有html后缀。

我阅读的所有示例都使用带有 Index.html 等的 Chatroom 示例。

我只是想知道我想做的事情是否可行。

非常感谢。

【问题讨论】:

    标签: php html events socket.io push


    【解决方案1】:

    当你编写一个 php 页面时,输出是 html。希望能回答你的问题

    【讨论】:

      【解决方案2】:

      PHP 和 socket.io 一起工作。使用 html 和使用 PHP 之间的唯一区别是您将两者链接在一起的方式(通用教程显示了一种仅适用于 html 的方式,但还有另一种适用于 html 和 php 的方式)。

      尝试这样的事情(来自我的类​​似答案,https://stackoverflow.com/a/25189436/3842050):

      var socket = require('socket.io');
      var express = require('express');
      var http = require('http');
      
      var app = express();
      var server = http.createServer(app);
      
      var io = socket.listen(server);
      

      然后删除app.useapp.get,因为这将不再需要它们来完成。然后在 server.js 的末尾添加server.listen(8000);。对于依赖项,请使用:<script src="//cdn.socket.io/socket.io-1.0.0.js"></script>。然后,要运行您的服务器,请在终端中访问它并输入node server.js。然后只需与您的客户端连接即可。此外,对于服务器中的事件,请使用:

      io.on('connection', function (client) {
          client.on('someEvent', function(someVariables){
              //Do something with someVariables when the client emits 'someEvent'
              io.emit('anEventToClients', someData);
          });
          client.on('anotherEvent', function(someMoreVariables){
              //Do more things with someMoreVariables when the client emits 'anotherEvent'
              io.emit('anotherEventToClients', someMoreData);
          });
      });
      

      在您的客户端代码中:

      socket.emit('someEvent', variables);
      socket.on('anEventToClients', function(something){
          //Code when anEventToClient is emitted from the server
      });
      

      【讨论】:

        猜你喜欢
        • 2016-10-12
        • 2016-12-29
        • 2023-04-01
        • 2020-01-03
        • 2021-04-08
        • 2013-06-17
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        相关资源
        最近更新 更多