socket.io 示例:不工作

Posted

技术标签:

【中文标题】socket.io 示例:不工作【英文标题】:socket.io example: not working 【发布时间】:2012-08-14 13:11:39 【问题描述】:

我对 socket.io 完全陌生,并试图从他们主页上的示例开始弄湿我的脚。但是执行后我在控制台中得到的只是这个

调试 - 提供静态内容 /socket.io.js

我的服务器端代码是这样的:

    var app=require('http').createServer(handler)
    , io = require('socket.io').listen(app)
    , fs = require('fs')
    app.listen(80);

    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.sockets.on('connection', function (socket) 
    console.log("connected");
    socket.emit('news',  hello: 'world' );
    socket.on('my other event', function (data) 
    console.log(data);
    );
    )

我的 index.html 是这样的:

var socket = io.connect('document.location.href');

   socket.on('error',function(reason)
  // console.error("Error");


  );
  socket.on('connect', function () 
  console.log('connected');       
          socket.send('hi');

          socket.on('message', function (msg) 
                // my msg
                    );
                     );
             </script>

我用谷歌搜索了它,但无法解决问题。我在 ubuntu 上使用 Firefox。

【问题讨论】:

【参考方案1】:

如果我没记错你的错误在这里:

'document.location.href'

应该是

document.location.href

我刚刚完成了一个简单的示例应用程序,我将很快为其编写教程: https://github.com/dotcloud/socket.io-on-dotcloud

您可以抓住它(只需克隆它)并使用它来轻松地使用 express 3 开始使用 socket.io。如果您想分享您的应用程序,它甚至可以推送到 dotCloud。

【讨论】:

是的,这改变了一些事情。 M 不确定这是否是预期的输出,但这是我得到的:信息 - socket.io 开始调试 - 提供静态内容 /socket.io.js 调试 - 客户端授权信息 - 握手授权 YU7ShJj3BCAdNdYrpPun 调试 - 设置请求 GET / socket.io/1/websocket/YU7ShJj3BCAdNdYrpPun 调试 - 为客户端设置心跳间隔 YU7ShJj3BCAdNdYrpPun 调试 - 客户端授权调试 - websocket 写入 1:: 已连接调试 - websocket 写入 5:::"name":"news","args" :["hello":"world"] 是的,同样的输出...你能告诉我如何停止来自 socket.io 的调试输出吗? 是的,这可能很烦人:***.com/questions/6807775/socket-io-remove-debug-mode

以上是关于socket.io 示例:不工作的主要内容,如果未能解决你的问题,请参考以下文章

Socket.IO 教程示例遇到问题。文件不完整或 PEBCAK?

Angular 6 和 Socket.IO - Socket.On 不工作

Socket.io 广播到房间不工作

Socket.io广播到房间不工作

socket io 的 emit 函数是如何工作的?

我的 socket.io 设置为 express 不工作