我已经使用 Chrome 打包应用程序构建了一个 Web 服务器。我反复看到的问题是 chrome.socket.accept() 和 chrome.socket.write() 不调用它们的回调函数。如果请求率小于每秒 1 个请求,它通常或多或少地可靠工作。如果超过此值,我就会开始看到错误或缺少回调。
我对 Google 构建的示例“网络服务器”应用程序(https://github.com/GoogleChrome/chrome-app-samples/tree/master/webserver)进行了类似的测试。它有同样的问题。Web 服务器停止响应之前通常需要少于 100 个请求。重现此问题的最简单方法是使用 Chrome 浏览器作为客户端并按住 F5 键几秒钟。
最好有一个示例应用程序来演示如何使用 chrome.socket 构建可靠的 Web 服务器。到目前为止,我尝试了几种不同的解决方法来从应用程序本身监视情况并在套接字停止工作时重新启动套接字,但这并不容易,因为没有可靠的方法来检查连接状态或回调时最后一次操作的状态不是被解雇了。我尝试使用 getInfo() 方法,但无论情况如何,它总是返回“connected=true”。
我在 Windows 7 和 Chrome OS (Chromebook) 上看到了这一点。