【发布时间】:2014-07-06 02:10:13
【问题描述】:
以下是一个单元测试,用于显示我正在经历的行为,我认为这些行为与我之前经历的不同。从本质上讲,我之前(可能是两个月前)使用套接字的方式从那时到现在的某个时间停止了工作。我不确定发生了什么。我以前工作的代码已经坏了。
var socketio = require('socket.io');
var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type' : 'text/html' });
var html = "<html><head><script src=\"/socket.io/socket.io.js\"></script>\
<script>var sock = io.connect();\
sock.on('sup', function(data) {\
console.log(\"whoo\");\
sock.emit('howdy', {'hi' : 'ho'});\
});</script></head></html>";
res.end(html);
}).listen(8080);
socketio.listen(server, {log:false}).on('connection', function(socket) {
socket.on('howdy', function(data){console.log("HI!");});
socket.emit("sup", {"hey" :"yo"});
});
我对代码的期望是以下事件序列:
- socket 连接,服务器发出“sup”消息。
- 客户端收到“sup”消息并记录“whoo”
- 客户端发送“你好”消息
- 服务器收到“你好”消息并记录“HI!”
第 4 步根本没有发生。 (因此我认为第 3 步也可能不会发生)
发生了什么事?
【问题讨论】: