我正在尝试使用LearnBoost 的 socket.io和node-websocket-client创建一个测试。客户端和服务器之间的通信工作得很好。完成所有通信后,我关闭了客户端和服务器。然而程序挂起,等待一些未知的回调。两个问题:
- 下面的程序在等什么?
- 是否有用于诊断节点程序中未完成回调的工具?
var connect = require('connect'),
io = require('socket.io'),
WebSocket = require('websocket-client').WebSocket;
var port = 7111;
var server = connect.createServer();
var socket = io.listen(server);
socket.on('connection', function(client) {
client.send('Welcome!');
client.on('message', function(message) {
console.log(message);
});
client.on('disconnect', function() {
console.log('closing');
server.close();
});
});
server.listen(port, function() {
var ws = new WebSocket('ws://localhost:' + port + '/socket.io/websocket');
ws.onmessage = function(message) {
console.log(message.data);
};
setTimeout(function() {
ws.send('~m~3~m~Yo!');
ws.close();
}, 10);
});
编辑:更改 WebSocket 的变量名ws
以避免混淆