2

这绝对是一个非常幼稚的问题,因为我是 node.js 的新手。

我只是从网站上运行第一个简单的 socket.io 示例:http: //socket.io/#how-to-use

客户端:index.html:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

服务器:app.js:

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

app.listen(8080);

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

根据我的理解,我假设会发生什么情况是,当服务器收到来自客户端的请求时,它会将客户端发出的数据输出{my: 'data'}到控制台,它确实如此,但它也应该将数据发送给客户端{hello: 'world'},当客户端接收到时,它也应该将数据记录到控制台?在终端控制台上,我只看到{my: 'data'}每个请求。服务器是否没有正确地将数据发送回客户端,或者我看错了地方?

显然我认为我对一些非常基本的东西感到困惑,但是当告诉客户端在客户端javascript中执行console.log时,输出应该显示在执行服务器程序的终端上还是其他东西上?如果我需要检查客户端控制台上的输出,我应该在浏览器中的哪里寻找?

希望有人能告诉我这个基本概念,我搜索了很多,但我相信这太简单了,大多数人只是假设人们知道它,所以我没有得到太多。

4

1 回答 1

4

在 Chrome 浏览器窗口中的任何位置 -> 右键单击​​菜单 -> 检查元素。这将在主窗口的底部弹出一个窗口。从选项卡列表“元素”、“资源”、“网络”...导航到“控制台”。所有控制台日志都显示在此处。

于 2012-06-01T06:29:26.983 回答