主要的问题就是ie10无法收发消息,提示:
SCRIPT5022: AMQJS0011E Invalid state not connected.
mqttws31.min.js, 行34 字符169
SCRIPT12008: WebSocket Error: Incorrect HTTP response. Status code 400, Bad Request
还有就是,消息无法持久,比如一个接收端连接上了,然后关闭连接(网页关闭),发送方发送消息,接收方重新打开网页连接,此时收不到之前的消息了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到您描述的问题,主要涉及两个方面:IE10浏览器不支持WebSocket以及消息队列的持久化问题。下面我将分别针对这两个问题提供一些建议和解决方案:
IE10确实对WebSocket的支持存在一些限制和bug,特别是当使用较旧版本的WebSocket库时,可能会遇到连接问题。错误信息SCRIPT5022: AMQJS0011E Invalid state not connected
表明客户端尝试在未建立连接的状态下进行消息收发操作,而SCRIPT12008: WebSocket Error: Incorrect HTTP response. Status code 400, Bad Request
则说明WebSocket握手请求未能成功,服务器返回了400错误。
您提到的消息在接收端断开连接后无法收到之前的消息,这通常是因为所使用的MQTT服务或实现没有提供消息队列的持久化功能。
综上所述,对于IE10的WebSocket问题,建议更新客户端库或调整通信策略;对于消息持久化问题,则需利用MQTT协议的特性及云服务的配置来确保消息的可靠传递。希望这些建议能帮助您解决问题。