我正在嘗試使用LearnBoost's socket.io和node-websocket-client來創建測試。客戶端和服務器之間的通信很好。所有通信完成後,我關閉客戶端和服務器。然而,這個程序仍在等待一些未知的回調。兩個問題:如何正確關閉socket.io/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);
});
編輯:改變網頁套接字的變量名ws
爲了避免混淆
對第二個問題的回答:沒有工具:請參閱http://stackoverflow.com/questions/5916066/node-js-tool-to-see-why-process-is-still-running – 2011-05-11 14:20:51