Я пытаюсь создать тест, используя LearnBoost socket.io и node-websocket-client. Общение между клиентом и сервером отлично работает. После завершения связи я закрываю как клиент, так и сервер. Однако программа зависает, ожидая какого-то неизвестного обратного вызова. Два вопроса:
- Ожидается ли следующая программа?
- Есть ли инструмент для диагностики выдающихся обратных вызовов в node программах?
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);
});
EDIT: изменилось имя переменной WebSocket на ws
, чтобы избежать путаницы