C++ 是否可以在Google Chrome扩展中嵌入HTTP服务器?

C++ 是否可以在Google Chrome扩展中嵌入HTTP服务器?,c++,google-chrome,node.js,google-chrome-extension,C++,Google Chrome,Node.js,Google Chrome Extension,你认为在Google Chrome扩展中嵌入HTTP服务器是可能的吗 我见过其他Google Chrome扩展执行本机代码,它们显然是通过使用来执行的,但我不知道这是什么。我真的很害怕,因为我不是C++专家或诸如此类的东西。所以我现在觉得有点卡住了,这就是为什么我要寻求帮助 具体来说,我想为Chrome创建一个扩展,其功能类似于。对于那些不知道我在说什么的人来说:OperaUnite基本上是一个与浏览器捆绑在一起的零配置web服务器。我不想把它用于Opera做的同样的事情,但我喜欢这个概念 我在

你认为在Google Chrome扩展中嵌入HTTP服务器是可能的吗

我见过其他Google Chrome扩展执行本机代码,它们显然是通过使用来执行的,但我不知道这是什么。我真的很害怕,因为我不是C++专家或诸如此类的东西。所以我现在觉得有点卡住了,这就是为什么我要寻求帮助

具体来说,我想为Chrome创建一个扩展,其功能类似于。对于那些不知道我在说什么的人来说:OperaUnite基本上是一个与浏览器捆绑在一起的零配置web服务器。我不想把它用于Opera做的同样的事情,但我喜欢这个概念

我在考虑使用类似于浏览器内部的东西来创建一个简单的web界面来控制浏览器中的某些内容。可以将其视为浏览器的遥控器。如果node.js不可能,我想使用node.js或类似的东西。这项技术其实并不重要,只要它允许我通过HTTP接收命令

但是,我如何利用现有的web服务器并从中生成NPAPI插件呢

澄清:我希望任何浏览器都能与我的分机通信。特别是我希望像Android或iPhone这样的移动设备能够远程控制浏览器。除了使用HTTP服务器,还有其他方法可以实现这一点吗

另一个更新:我认为最简单的方法是在web上使用中继服务器或一些自创服务。但我不喜欢这种方式,因为它需要经常上网,而且是付费服务


谢谢大家!

如果您想对浏览器进行远程控制,HTML5 WebSockets之类的东西是否适合您

您可以有一个外部“远程”服务器,扩展通过WebSocket监听该服务器。如果您想通过扩展托管Web服务器。你需要使用NPAPI,有很多C++库(谷歌搜索)可以做一个简单的WebServer。但我更愿意使用WebSocket与外部服务器通信,后者将为您提供您想要的任何东西


但是如果你坚持,你需要学习C++,NPAPI,网上有很多关于NPAPI的例子。

< P>这里是关于在Chrome应用程序中制作Web服务器的信息:

这里是另一个使用chrome.socket实现的web服务器:。链接到chrome应用程序示例中的服务器示例实际上存在问题,如果您在其提供的页面上按住Ctrl-R键,该示例将被锁定。

谢谢您的回答。我不知道我是否完全理解你。我希望任何浏览器都能与我的分机通信。特别是我希望像Android或iPhone这样的移动设备能够远程控制浏览器。那么你是说我可以使用WebSocket来实现这一点?如果这么简单的话会很酷,但我觉得我在这里运气不好。我认为WebSocket在大多数浏览器中都还没有实现,你可以有一个WebSocket服务器,你的扩展将监听这个WebSocket。您的WebSocket服务器可以是nodejs。所有其他浏览器都可以通过HTTP(普通请求)向WebSocket服务器发送消息,然后它将通过WebSocket向扩展广播消息。但您可以使用NPAPI并在每个人的计算机上托管一台服务器,但由于您公开了本机代码,这将成为一种安全风险。但是在客户机上托管服务器的好处是,您可以直接与它通信,但这存在安全风险,因此不建议使用NPAPI。谢谢。我可以看出,我自己写得很差的NPAPI web服务器会有多大的安全风险。Chrome没有内置这种功能,真是太遗憾了。这真的会带来很多很酷的新东西。无论如何,我认为中继服务器方法可能是实现这一点的最佳方法,尽管它有缺点。这似乎是唯一没有重大安全风险的可行方法。尽管我真的认为浏览器最终应该能够彼此进行P2P通信是的,我部分同意:)创建一个公共P2P API是相当困难的,考虑到安全性也是如此。中继服务器有缺点,但它会使您的扩展更安全,人们不会质疑发生了什么。例如,创建一个WebSocket远程应用程序来通过硬件设备控制网站是有效的(可以很快),但将该硬件作为NPAPI扩展将很酷,这样它将是实时的。所以也有缺点,但在沙盒API(如NaCL PEPPER)最终确定之前,它会使web更加安全:)请注意,这是一个Chrome,而不是Chrome扩展。独立的chrome扩展无法启动服务器,尽管可以通过外部消息(在扩展和chrome应用程序之间)或本机消息(在扩展和操作系统上的某些预装应用程序之间)从扩展启动服务器。