在做书上的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则打印出来了