我为Facebook Messenger开发了一款多人实时游戏。到目前为止,花了一年时间开发!完成了,除了这个问题。
我正在面对这个间歇性的Android Android Messenger。
我收到1006错误,但仅在某些android设备中才出现,并且在用于Android的实际Facebook Messenger应用程序中也没有。
起初我以为是Facebook Messenger的故障。但是,事实并非如此,因为每次都可以连接到echo.websocket.org。 (我是说,如果我只是将“ wss:// URL:port”切换为“ echo.websocket.org”)。
问题是,websocket 1006错误是客户端特定的错误。使得它更加混乱并且无法调试的原因是有时它可以工作。当它工作时,通常可以继续工作一天。通常它只能工作几个小时。然后突然停止工作,并再次开始显示1006错误。
在我更改主机提供商之前,我想问这里的任何人。显然,这需要真正了解websocket协议工作原理的人员。
这些是您需要了解的事情;
1:唯一不起作用的时间是通过Facebook Messenger,并且 仅在Android设备上。在银河标签A中发生的次数比在 向上有6个星系的S系列。
2:在ios,mac和pc上一直都能正常工作。
3:每次都可以通过网络浏览器在android上运行。
4:我尝试将websocket更改为socket.io,因此可以在服务器上运行socket.io调试器。在此特定问题期间,没有调试输出显示。
5:当我将连接更改为echo.websocket.org时,它总是有效。
6:我正在使用URL和端口进行连接。即wss://myUrl.com:portnumber。
7:我尝试在服务器上创建端口代理,以便删除 端口号,并模仿“ wss://echo.websocket.org”(无端口号)“ wss://myUrl.com”。
8:我已经联系了我的托管服务提供商,他们说在那里
不应阻止它工作。 “因为它可以通过ios,mac和pc运作,所以一定是Facebook Messenger问题”,
9:有时它会起作用,但会随机起作用 时间量。
10:它工作时永远不会破裂。
11:Facebook直接支持即时游戏开发人员 他们说:“由于echo.websocket.org有效,它必须 是您的代码有问题”。
12:我尝试了一个纯香草websocket脚本,尽管它 刚开始起作用,就像我的游戏有时起作用一样,它停止了 在随机的时间后工作。当它停止工作时,我 再次遇到1006错误。
13:有时会清除Messenger缓存并强制停止 随机解决问题。其他时间 没有。
14:无法在Facebook中看到开发者控制台 Messenger,因此唯一的选择是使用Eruda或vconsole。都不 他们捕获到websocket错误。
因此,这表明这是服务器问题。对?甚至错误1006都指出它是客户问题吗?
我唯一没有尝试过的就是更改主机提供程序。但是,我有一个功能强大且昂贵的VPS,因此,如果可能的话,更改主机不仅仅是我想做的事情。
这显然是只有经验丰富的开发人员才能回答的问题。我只是希望这里有一个?
谢谢。