Der Websocket-server läuft, aber keine Verbindung vom client (welche url soll ich verwenden?)
OK, dies ist sehr einfach zu wer verwendet websocket und nodejs.
Habe ich einen websocket-server mit dem Namen ws_server.js und steckte es in C:\Program Files (x86)\nodejs, wo ich nach der Installation der nodejs framework. Ich startete den server und es läuft und er sagt, er lauscht auf port 8080. So weit So gut, ich habe den server läuft.
Nun habe ich einfach eine Verbindung herstellen möchten es von den client-code, so dass ich tun kann, alle, die schöne Sachen über die Erfassung von Ereignissen mithilfe von Ereignis-Listenern usw.. Das problem ist, embarassingly, ich kann nicht herausfinden, welche URL zu verwenden, um eine Verbindung zu meinem websocket-server.
function init() {
testWebSocket();
}
function testWebSocket() {
websocket = new WebSocket("ws://localhost:8080/"); //WHAT URL SHOULD BE USED HERE?
websocket.onopen = function(evt) { alert("OPEN") };
websocket.onclose = function(evt) { alert("CLOSE") };
websocket.onmessage = function(evt) { alert("MESSAGE") };
websocket.onerror = function(evt) { alert("ERROR") };
}
function doSend(message) {
//this would be called by user pressing a button somewhere
websocket.send(message);
alert("SENT");
}
window.addEventListener("load", init, false);
Wenn ich ws://localhost:8080 die einzigen Ereignisse, die Auslöser sind in der NÄHE und FEHLER. Ich Schaffe es nicht den client zu verbinden. Ich muss fehlt etwas sehr einfach. Muss ich meine nodejs-Ordner in IIS zum Beispiel, und verwenden Sie dann die URL?
Nur zu wiederholen, der websocket-server läuft, ich weiß nur nicht, welche URL zu verwenden, um die Verbindung vom client.
EDIT: Das websocket-server meldet folgenden Fehler.
Angegebene Protokoll nicht von dem client abgefragt wird.
- "Sie sagt, es lauscht auf port 8080" Es klingt wie Sie sind sich nicht sicher. Hast du eigentlich so konfigurieren, hören Sie auf 8080? Welches framework benutzt du? (und btw, es ist seltsam, um Ihre code wo Node.js installiert ist)
- Es ist eigentlich mit 8080 ja.
- Mit der node.js framework v0.10.26, bedeutet das, dass die Antwort auf die Frage? Sorry, wenn ich das falsch verstanden
- BTW habe ich den server einrichten, der als pro cjihrig.com/blog/websockets-in-node-js-0-8-6-for-windows-7 (das sagt Sie zusammengestellt, die ws_server.js in der nodejs-Ordner)
- Ok. Durch den Rahmen, den ich gemeint, die websocket-server-Bibliothek, aber ich sehe, dass es die WebSocket-Node. Einmal
node
ist in Ihrem PFAD, Sie können Ihre Node.js code, wo immer Sie wollen. Dann weiß ich nicht, warum es nicht funktioniert ohne Angabe eines Protokolls. - Ah ja sorry, es ist WebSocket-Node-und ich habe es geschafft zu bekommen, es angeschlossen und senden von Nachrichten. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, ich habe es zu arbeiten, indem Sie Folgendes tun.
Das problem ist, dass ich brauchte, um anzugeben, ein Protokoll. Zumindest bekomm ich jetzt die onopen Veranstaltung. ...wenn sonst nichts
Sah ich die gleichen Fehler, die gesamte web-server ausfällt. Hinzufügen das Protokoll behebt es, aber lässt mich Fragen, warum es implementiert wurde, auf diese Weise. Ich meine, ein bad request sollte nicht stürzen Sie Ihren server.
Haben Sie auf jeden Fall zu umhüllen es ein try/catch, aber der Beispiel-code hier zur Verfügung gestellten https://www.npmjs.com/package/websocket (2019-08-07) nicht. Dieses Problem kann leicht vermieden werden.