我需要Chrome Packaged应用程序和NodeJS脚本之间的socket.io连接。我熟悉NodeJS和socket.io,但不适用于Chrome Packaged App。我可以在Chrome Packaged应用程序中使用socket.io吗?
这似乎很难(我还没有找到任何文件解释如何做到这一点)。 我首先尝试简单地加载从我的NodeJS(http://localhost:8080/socket.io/socket.io.js
)提供的socket.io.js脚本。但是CSP禁止它。
然后我发现the socket.io-client。我对英文不是很熟悉,但是我知道它会处理在没有服务器的情况下加载socket.io客户端脚本,对吧?
所以我尝试加载脚本 “socket.io的客户端/ socket.io-client.js” 在我background.html页面而Chrome给我一个错误:
Uncaught Error: failed to require "socket.io" from "root"
我迷路了... 在尝试进一步尝试之前,我只问自己,socket.io是在Packaged App和Nodejs之间建立对话的好主意。
如果是这样,我怎么能加载和运行它的客户端?
编辑: 我不知道我是否必须使用经典的Websocket而不是socket.io。我知道它适用于Packaged App,如here所示,但是它需要更多时间来开发socket.io提供的相同功能(传递objet)。
谢谢您的帮助:)
你有没有看到这篇文章http://stackoverflow.com/questions/17757728/where-is-the-socket-io-client-side-js-file-located? –
是的,我现在就是这一切。但是对于Chrome Packaged应用程序,我无法加载外部脚本以确保安全性。 –
我有一个应用程序,我手动包含了socket.io.js客户端,它的工作原理见下图。这将有可能在Chrome网页应用程序中工作 –