对于Android多人游戏玩家之间的通信,我在客户端使用WebSocket服务器和TooTallNate的Java库来启用Android应用程序中的WebSocket支持。所以只是明确指出,WebSocket在移动浏览器中的支持对我来说并不重要。
不幸的是,用户报告他们遇到了诸如连接失败或未收到消息之类的问题。这是WebSockets在移动设备上的一个普遍问题(端口阻塞、防火墙、移动互联网连接),还是可能是客户端代码中的一个缺陷?
你有使用WebSocket客户端库的经验吗?我刚刚发现了高速公路。Android -但是我不知道是否值得从我目前的库(见上文)切换。
WAMP呢?是WebSocket技术不完全是适当的解决方案,所以我应该使用子协议(?)里面吗?
在某些移动网络上出现了错误的web套接字连接。通过:
(1)移动端口:将websocket的服务器和客户端移动到SSL端口(端口443)
(2) ping keep-alive:每隔X秒从客户端定期向服务器发送"ping"消息,并等待服务器返回"pong"。如果服务器在Y秒内没有返回"pong",则重新启动客户端连接。
实现(1)会让你大部分的方式。
每一项新技术都伴随着一系列新的问题。在WebSocket的情况下,它是与代理服务器的兼容性,代理服务器在大多数公司网络中调解HTTP连接。WebSocket协议使用HTTP升级系统(通常用于HTTP/SSL)将HTTP连接"升级"到WebSocket连接。有些代理服务器不喜欢这样,会断开连接。因此,即使给定的客户端使用WebSocket协议,也可能无法建立连接。