javascript - nodejs用websocket.io编写一个服务器响应耗时计算的简单程序,为何此处没有打印出来呢?
PHP中文网
PHP中文网 2017-04-11 12:25:19
[JavaScript讨论组]

在做书上的demo,websocket本身的bug我已按照教程修复,请问下面这里是什么问题而没有执行呢?因为还在学着实现demo,用的是老书,使用的是express 2系列的版本而不是最新版,不过我猜应该和express没关系。

server.js:

    var express=require('express'),wsio=require('websocket.io');
    
    var app=express.createServer();
    
    var ws=wsio.attach(app);
    
    app.use(express.static('public'));
    
    ws.on('connection',function(socket){
        socket.on('message',function(msg){
            console.log(' \033[96mgot:\033[39m '+msg);
            socket.send('pong');
        });

});

app.listen(3000);

index.html放在当前目录的public文件夹下:

<!doctype html>
<html>
  <head>
    <title>WebSocket echo test</title>
    <script>
      var lastMessage;

      window.onload = function () {
        // create socket
        var ws = new WebSocket('ws://localhost:3000');
        ws.onopen = function () {
          ping();
        }
        ws.onmessage = function (ev) {
          **console.log(' got: '+ev.data);**
          document.getElementById('latency').innerHTML = new Date - lastMessage;
        }

        function ping(){
          lastMessage=+new Date;
          ws.send('ping');
        }
      }
    </script>
  </head>
  <body>
    <h1>WebSocket Echo</h1>
    <h2>Latency: <span id="latency"></span>ms</h2>
  </body>
</html>

星号里面的console语句为何没有在终端打印出来 got: pong 呢?而server.js里面的got: ping则打印出来了

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号