socket.auf('Verbindung' ... event nie ausgelöst nodejs + express + sockel.io
Problem - Buchse.io funktioniert NICHT
Details
- Generiert ein Projekt mit
express [folder]; cd [folder]; npm install;
- Setup-Buchse.io
npm install socket.io
- Laufen-Knoten-app mit folgenden code
- Client verbinden event feuert, aber server Verbindung NIE abgefeuert.
Setup
- Server das Kostenlose Kontingent für AWS, Ubuntu 11.10, ami-a7f539ce
- nodejs v0.6.5
- express v2.5.1
- - Buchse.io-v0.8.7
Client
var socket = io.connect('http://example.com:3000');
socket.on('connect', function() {
console.log('connected');
});
socket.on('message', function(msg){
console.log(msg);
});
socket.on('disconnect', function() {
console.log('disconnected');
});
socket.on('error', function (e) {
console.log('System', e ? e : 'A unknown error occurred');
});
Server
[...]
app.listen(3000);
//socket.io setup
var socket = require('socket.io').listen(app);
//socket.io connection establishment
socket.on('connection', function (client) {
client.send("hello");
console.log("hello", client);
});
Warum ist Verbindung Ereignis nie ausgelöst?
io.connect('http://example.com:3000')
-> io.connect('http://localhost:3000')
?example.com war Absicht, nicht, um meine Server hier. Sorry, habe nicht geklärt.
Sind Sie sicher, dass der rest des Codes funktioniert? Sehen Sie in irgendeinem - Nachrichten?
es ist echt komisch Aussehen-Buchse.io-debug-out es scheint ok zu arbeiten, nicht wahr? aber Verbindung - Ereignis wird nie ausgelöst. SSH-terminal-Bildschirm
Danke.
InformationsquelleAutor Gaston | 2011-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dauerte eine Weile, um zu bemerken,... die
connection
Veranstaltung ist emmited aufio.sockets
. Im code wäre diesSollten Sie verwenden
io
stattsocket
als var name zu dieser Verwirrung zu vermeiden.Vielen, vielen Dank!
ich habe das gleiche problem. aber windows-Rechner arbeitet, socketio.listen(server).on('connection', function (socket) { }); mac os nicht funktioniert.
InformationsquelleAutor Ricardo Tomasi
Ricardo Tomasi ist richtig, hat mein Leben gerettet, ich war verrückt.
Obwohl sich die Dinge geändert, wir sind in 2013, es gibt noch ein Problem offen (seit 2 Jahren) auf diese
wohl etwas geändert, trotzdem zu registrieren, die 'connect' - Veranstaltung, die ich hatte, dies zu tun:
InformationsquelleAutor colthreepv
Folgenden habe einen trick für mich mit: - sockel.io-client: "^0.9.16"
Nun "connect" - Ereignis wird ausgelöst, konsequent und es ist kein re-verwenden.
Dachte ich, diese option durch die Prüfung socket.io-client/lib/io.js line: 192
Da kann ich auch nicht finden, diese io.js Datei im github, ich denke, es ist refactoring in zukünftigen Versionen, und diese option funktioniert möglicherweise nicht.
Zumindest könnte dies hilfreich sein, jemand, der diese vorübergehende.
InformationsquelleAutor gogaman