node.js und Steckdose.io. transport-Typ Konfiguration für websocket?
Diese Frage betrifft-Buchse.io-Versionen < 0.9.x.
Neuere Versionen haben verschiedene Transporte und Methoden der Einstellung der Transporte.
Ich testen, node js und Steckdose.io in zwei Wochen. als ich begonnen habe, bekomme ich das problem aus socket.send(message)
- Funktion im client. Ich kann nicht senden Sie keine Nachricht an den server. Aber ich kann immer noch empfangen von Nachrichten vom server. Ich löste dieses problem, wenn ich den konfigurieren-transport-server-Seite:
socket.set('transports',[
'xhr-polling'
, 'jsonp-polling'
]);
Alles gute. Jetzt kann ich das senden von Nachrichten an den server als gut. Aber ich habe noch eine Frage warum habe ich zu konfigurieren, transport. Standard-Buchse.io Verwendung der websocket-transport-Einstellung wie diese:
socket.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
so nutzt websocket auf den ersten, nicht xhr-polling. Aber der server kann nicht erhalten keine Nachrichten, die von dem client bei der Verwendung von socket.send(msg)
auch socket.emit(...)
.
Also das problem ist: was ist nicht unterstützt websocket hier? browser oder node.js ... tut mir Leid, aber ich suchte so viele Seiten von google, und ich habe nicht gefunden, eine Antwort für diese.
Ich verwenden node.js version 0.8.16, Buchse.io version 0.9.13 und neuesten Browser: chrome, firefox, opera
Will ich mit websocket nicht xhr-polling.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Merkwürdig, denn selbst wenn websockets nicht unterstützt, indem Sie Ihre server-Konfiguration, Buchse.io wird wählen Sie die nächste beste verfügbare Methode (in deinem Fall xhr-polling). Eigentlich sollte man gar nicht erst gesetzt werden müssen diese Transporte als sockel.io wird versuchen, zu verwenden 'websocket' als eine primäre Methode standardmäßig. Dies kann darauf hindeuten, einige andere problem, möglicherweise mit dem code?
Was unterstützt keine websockets ist definitiv nicht der Browser Sie verwenden, noch node.js natürlich. Dies hängt von Ihrem server-setup.
Ersten check:
Was endlich mein Problem gelöst wurde, zu deaktivieren, Apache lauscht auf port 80 und node.js lauscht auf diesem port. Hier ist die Antwort auf SO was hat mir geholfen: https://stackoverflow.com/a/7640966/2347777