对,在计划的用户测试前一天,我发现我的 iPad PhoneGap或Cordova应用程序无法在 iPad 3 IOS 5.1.1 上运行,而在具有相同 IOS 版本的 iPad 2 上却完美运行!我是一个足够愚蠢的人,我“假设”这将保证在较新的 iPad 上工作。吸取教训,我猜。
我有一个 Arduino 设备可以顺利运行 webSocket 服务器。我一直在我的笔记本电脑上使用相同的 Arduino 设备在 Google Chrome 最新开发版本上测试我的应用程序,之前在 iPad 2 上使用最新的 iOS 版本:它就像一个魅力!
在 iPad 端,我正在运行一个使用 webSockets 的 PhoneGap 或 Cordova HTML5 / JavaScript 应用程序。
我不依赖任何第三方网络/网络套接字服务或技术,只是在谷歌 Chrome 上运行的 webkit 网络套接字实现,显然只有 iPad 2..
因此,iPad 3 出现了:WebSocket 连接似乎失败了。我根本不是网络专家,尽管我认为我知道基础知识,并且我尝试使用Wireshark找出握手是否有问题。但似乎连握手都没有。iPad 3 停止在 ARP 请求!
我在下面包含了指向我的 Wireshark(仅限混杂模式,监控模式似乎不起作用)输出及其屏幕截图的链接:
这是怎么回事?为什么我的 Arduino 设备没有响应来自 iPad 3 的 ARP,却响应来自 iPad 2 的 ARP?
奇怪的是:iPad 3 端的 web socket 实现应该没有问题,我查看了这个 web socket 演示站点:http ://www.websocket.org/echo.html