Я сделал многопользовательскую игру в реальном времени для мессенджера Facebook. До сих пор ушел год на разработку! Закончено все, кроме этой проблемы.
Я сталкиваюсь с этой периодически возникающей проблемой в Facebook-мессенджере для Android.
Я получаю ошибку 1006, но только когда-либо на некоторых устройствах Android и только в реальном приложении для обмена сообщениями Facebook для Android.
Сначала я подумал, что это сбой мессенджера Facebook. Однако этого не может быть, потому что подключение к echo.websocket.org работает каждый раз. (Я имею в виду, если я просто переключу свой "wss: // URL: порт" на "echo.websocket.org").
Дело в том, что ошибка websocket 1006 является специфической ошибкой клиента. Что делает это еще более запутанным и невозможным для отладки, так это то, что иногда это работает. Когда он работает, он обычно продолжает работать до суток. Часто это работает только в течение нескольких часов. Затем он внезапно перестает работать и снова показывает ошибку 1006.
Прежде чем сменить хост-провайдера, я хотел бы спросить кого-нибудь здесь. Очевидно, что для этого нужен человек, который действительно понимает, как именно работает протокол websocket.
Это то, что вам нужно знать;
1: единственный раз, когда это не работает, это через мессенджер Facebook, и
только на андроид устройстве. Это происходит больше на вкладке галактики, чем в
галактика S серии 6 вверх.
2: работает нормально в ios, mac и pc, все время.
3: он работает на Android через веб-браузер каждый раз.
4: я попытался перейти с websocket на socket.io, чтобы я мог запустить отладчик socket.io на моем сервере. Во время этой конкретной проблемы отладочный вывод не отображается.
5: Когда я меняю соединение на echo.websocket.org, оно всегда работает.
6: я подключаюсь, используя URL и порт. т.е. wss: //myUrl.com: номер порта.
7: я попытался создать прокси для порта на моем сервере, чтобы я мог удалить
номер порта и имитация "wss: //echo.websocket.org" (без номера порта) "wss: //myUrl.com".
8: я связался с моим хостинг-провайдером, и они сказали, что там
должно быть ничто, мешающее этому работать. «Поскольку он работает через ios, mac и pc, это должно быть проблемой мессенджера на Facebook»,
9: иногда это работает, когда это работает, он работает на случайную
количество времени.
10: когда он работает, он никогда не сломается.
11: прямая поддержка разработчиков мгновенных игр на Facebook
в него, и они говорят: «Потому что echo.websocket.org работает, он должен
быть проблема с вашим кодом ".
12: я попробовал чистый ванильный скрипт веб-сокета и, хотя он
сначала сработало, как у меня иногда работает игра
работать через случайное количество времени. Когда он перестает работать, я
снова получите ошибку 1006.
13: Иногда очищаем кеш мессенджера и нажимаем принудительную остановку
решает проблему за случайное количество времени. В другой раз это
не делает.
14: Нет возможности увидеть консоль разработчика в Facebook
мессенджер, поэтому единственный вариант - использовать Eruda или vconsole. Ни один из
они ловят ошибки websocket.
Так что это говорит о том, что это проблема с сервером. Правильно? Даже если ошибка 1006 говорит о специфической проблеме клиента?
Единственное, что я не пробовал - это менять хост-провайдеров. Но у меня достаточно мощный и дорогой VPS, поэтому смена хостов - это не просто то, что я хочу сделать, если это возможно.
Это явно то, что может ответить только очень опытный разработчик. Я просто надеюсь, что есть здесь?
Заранее спасибо.