Websockets nicht funktioniert
Ich habe den folgenden code in javascript:
function ConnectWebSocket() {
if ("WebSocket" in window) {
myWebsocket = new WebSocket("wss://myserver/mychannel");
myWebsocket.onmessage = function(evt) {
alert("onmessage");
}
myWebsocket.onopen = function() {
alert("onopen");
myWebsocket.send("msg0");
myWebsocket.send("msg1");
myWebsocket.send("msg2");
}
myWebsocket.onclose = function() {
alert("onclose");
ConnectWebSocket();
}
} else {
//Do something if there is no websockets support
}
}
ConnectWebSocket();
Das problem ist, dass in Firefox, die Verbindung wird geschlossen, nachdem das senden der Nachrichten, und wieder durch den Befehl auf das onclose-Ereignis. Wenn ich versuche zu senden, nur eine Nachricht auf onopen, die Verbindung hält geöffnet, aber wenn ich versuche zu senden mehr als eine Nachricht, wird die Verbindung abgeschaltet. Dieses Problem tritt nur in Firefox, nicht in Chrome, nicht im IE, nicht in Safari.
Kann mir jemand helfen? In anderen Browsern wie IE oder Chrome, sobald die Verbindung erstellt ist, es bleibt geöffnet, bis ich die Seite verlassen. Ich habe die 40.0.3 v von Firefox
überprüfen Sie in diesem http://stackoverflow.com/questions/31627450/websocket-fails-in-firefox
Hallo kakajan, dieser link ist gut für mich, aber es ist eine benutzerdefinierte Aktion aus. Ich brauche, dass könnte es sein setted von code. Ist es möglich?Könnten Sie mir helfen? Danke.
Das WebSockets API (und das zugrunde liegende Protokoll) befinden sich noch in der aktiven Entwicklung, und es gibt viele Kompatibilitätsprobleme zwischen den Browsern zu dieser Zeit (und auch zwischen verschiedenen Versionen des gleichen Browsers). bekomme ich die von mozilla-website Überprüfen Sie den link, es gibt einige WebSocket-Beispiele
Und in welcher Sprache haben Sie schreiben der server-Seite des websocket? Java?
Können Sie versuchen, senden von Nachrichten außerhalb der
Hallo kakajan, dieser link ist gut für mich, aber es ist eine benutzerdefinierte Aktion aus. Ich brauche, dass könnte es sein setted von code. Ist es möglich?Könnten Sie mir helfen? Danke.
Das WebSockets API (und das zugrunde liegende Protokoll) befinden sich noch in der aktiven Entwicklung, und es gibt viele Kompatibilitätsprobleme zwischen den Browsern zu dieser Zeit (und auch zwischen verschiedenen Versionen des gleichen Browsers). bekomme ich die von mozilla-website Überprüfen Sie den link, es gibt einige WebSocket-Beispiele
Und in welcher Sprache haben Sie schreiben der server-Seite des websocket? Java?
Können Sie versuchen, senden von Nachrichten außerhalb der
.onopen
Funktion? Ich bin nicht sicher, aber ich glaube das problem tritt auf, beim senden von Nachrichten in .onopen
Funktion. Gleiche Problem auf dieses question zuInformationsquelleAutor Manel | 2015-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dieses Beispiel:
Hier ist ein JSFidlle
ich aktualisiert meine Antwort ist, versuchen Sie es, ich habe meine websocket Beispiel, die ich verwendet habe, an meinen eigenen Projekten, es ist ein jsfiddle-link, ich habe versucht es in firefox, chrome, safari, funktioniert ohne jedes problem.
Hallo kakajan, danke für deine Antwort, aber ich fürchte, dass ist noch nicht am firefox. Sie könnten versuchen, die den gleichen code mit dieser url "wss://pre-ws.sureact.com:443/myChannel", und Sie werden sehen, die Konsole.melden, ich bin der Beschaffung. Bitte beachten Sie, dass ich haben " - Netzwerk.websocket.extensions.permessage-deflate;true" auf "about:config" ein. Beste Grüße, Manel
Ich hatte firefox v29.0.1, die ich laufen beide
wss://pre-ws.sureact.com:443/myChannel
undws://echo.websocket.org
, beide Werke gut, dann habe ich aktualisiert mein firefox 41.0.1, wenn ichws://echo.websocket.org
websockets arbeitet ohne Probleme, aber wenn ich schrieb Ihre urlwss://pre-ws.sureact.com:443/myChannel
websocket schließen, nachdem bestimmte Zeit, denke ich, hast du ein problem im backend von websocket-oder es gibt problem in aktuellen Versionen von firefoxhast du es versuchen?
InformationsquelleAutor kakajan
Kann es sein, dass Ihr
support
var ist nicht Verhalten, als Sie erwarten. Der folgende code funktioniert in FireFox ohne schließen der Verbindung:Beispiel Geige
funktioniert in Ihrem browser.
hier Debuggen websockets.
InformationsquelleAutor Michael Doye
Versuchen es.
InformationsquelleAutor toto