Ich habe eine Anwendung mit socket.io, und funktioniert nicht von mobilen Chrom (auf Android und iOS). Ich kann sehen, dass die im Browser ausgeführt wird. Aber meine serverseitigen console.log-Anweisungen in socket.on()
werden nicht ausgeführt, daher denke ich, dass Nachrichten nicht da sind. Ich sehe auch keine Fehler in der Konsole.Socket.emit funktioniert nicht in mobilen Chrom (aber es funktioniert im Inkognito-Modus)
Interessanterweise funktioniert alles im Inkognito-Modus, plus alle Modi in anderen mobilen Browsern wie Safari.
Alle Lösungen oder Hilfe beim Debuggen wäre hilfreich.
EDIT:
Client-Seite CODE
$(document).ready(function(){
socket = io();
$(".check").on("submit", function(event){
event.preventDefault();
ga('send','event','evt','evt123');
socket.emit('checkRoom', { rId: "12345", pId: "johndoe"});
});
});
Server-Seite CODE
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('check',function(e){
console.log('Entered check');
socket.emit('check','server message');
});
});
EDIT2:
I angegeben manuell die socket.io-1.3.5.js
-Datei auf der Client-Seite (anstelle der Verwendung der Standard /socket.io/socket.io.js
) und begann zu sehen Dieser Fehler wird in der Konsole angezeigt:
Wir werden wahrscheinlich den entsprechenden Code für uns brauchen, um eine Idee zu bekommen, was hier vor sich geht. – jfriend00
Wie genau sehen Sie, dass "socket.emit" vom Client funktioniert? Hast du eine "console.log" direkt davor oder danach gesetzt? Erhalten Sie immer noch "eine Benutzerverbindung" auf dem Server, was bedeutet, dass der Socket zwar eine Verbindung herstellt, aber vom Client nicht empfangen wird? Versuchen Sie ein paar 'socket.emit/on ('test')' (mit entsprechenden Konsolenprotokollnachrichten) auf Server und Client, die ohne irgendeine Interaktion ausgelöst werden, nur um zu sehen, ob die Kommunikation zumindest beim ersten Kontakt stattfindet, oder ob die Probleme beginnen später. – laggingreflex
@laggingreflex: Ich habe Breakpoints verwendet, um zu sehen, dass der Code zu "socket.emit" kommt. Ich habe mit sehr einfachem Code versucht, um zu überprüfen, ob der erste Kontakt passiert, und ich kann sehen, dass Nachrichten nicht zum Server gelangen. –