Ich versuche, einen Test zu erstellen mit LearnBoosts socket.io y el node-websocket-client . Die Kommunikation zwischen dem Client und dem Server funktioniert einwandfrei. Nachdem die Kommunikation abgeschlossen ist, schließe ich sowohl den Client als auch den Server. Dennoch bleibt das Programm hängen und wartet auf einen unbekannten Rückruf. Zwei Fragen:
- Worauf wartet das folgende Programm?
- Gibt es ein Werkzeug, um ausstehende Rückrufe in Knotenprogrammen zu diagnostizieren?
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: Der Variablenname des WebSocket wurde geändert in ws
um Verwechslungen zu vermeiden