Mam aplikacji przy użyciu socket.io i socket.emit()
nie pracuje z telefonu chromu (na Androida i iOS). Widzę, że socket.emit()
jest wykonywane w przeglądarce. Ale moje instrukcje console.log po stronie serwera w socket.on()
nie są uruchomione, więc myślę, że komunikaty się nie pojawiają. Nie widzę też żadnych błędów w konsoli.socket.emit nie działa w telefonie chromu (ale działa w trybie incognito)
Co ciekawe, wszystko działa poprawnie w trybie incognito, a także we wszystkich trybach w innych przeglądarkach mobilnych, takich jak Safari.
Pomocne mogą być dowolne rozwiązania lub pomoc przy debugowaniu.
EDIT:
kod klienta SIDE
$(document).ready(function(){
socket = io();
$(".check").on("submit", function(event){
event.preventDefault();
ga('send','event','evt','evt123');
socket.emit('checkRoom', { rId: "12345", pId: "johndoe"});
});
});
KOD Server Side
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:
ręcznie określony plik socket.io-1.3.5.js
po stronie klienta (zamiast korzystania domyślny /socket.io/socket.io.js
) i zaczął widzieć ten błąd w konsoli:
Będziemy prawdopodobnie trzeba zobaczyć odpowiedni kod dla nas ma jakiś pomysł co może być tutaj dzieje. – jfriend00
Jak dokładnie widzisz, że 'socket.emit' działa z klienta? Czy wstawiłeś 'console.log' tuż przed lub po nim? Czy nadal uzyskujesz "połączenie użytkownika" na serwerze, co oznacza, że gniazdo łączy się, ale emitowane z klienta nie jest odbierane? Spróbuj wstawić kilka "socket.emit/on (" test ")' (z odpowiednimi komunikatami logowania do konsoli) na serwerze i kliencie, które uruchamiają się bez interakcji, aby sprawdzić, czy komunikacja odbywa się przynajmniej przy pierwszym kontakcie, czy też problemy zaczynają się później. – laggingreflex
@laggingreflex: Użyłem breakpointów, aby zobaczyć, że kod przechodzi do 'socket.emit'. Próbowałem z bardzo prostym kodem, aby sprawdzić, czy pierwszy kontakt się dzieje, i widzę, że wiadomości nie docierają do serwera. –