火狐插件 - 套接字

4
我一直希望有一种方法可以与服务器建立套接字连接,并允许服务器操作页面DOM。例如,在股票报价页面中,可以使用此功能,以便服务器在新报价可用时推送它们。
我知道这是HTTP请求/响应协议的经典限制(特性?),但我认为这可以作为Firefox插件实现(跨浏览器兼容性对我的应用程序不重要)。Java / Flash解决方案不可接受,因为(据我所知)它们存在于一个框中,无法与DOM交互。
有人能否确认这是否在Firefox插件的功能范围内?是否已经创建了类似的东西?
4个回答

2
您可能想了解一下Comet(编程)的相关内容,它是长时间运行的HTTP连接的一个花哨名称,服务器可以通过该连接向页面推送更新。

2

这应该是可能的。我开发了一个xulrunner应用程序,使用套接字连接到TCP服务器。扩展开发可能具有相同的功能。我使用了mozdev的一个库 - JSLib。具体请查看网络代码JSlib Firefox插件的存在让我更加自信。

本质上,据我所知,套接字不是JavaScript的一部分,但通过XPCOM,您可以像在任何c/c++应用程序中一样获得原始套接字访问。

警告:JSLib似乎没有受到太多关注,邮件列表也很稀少。


1
Java/Flash解决方案不可接受,因为(据我所知)它们存在于一个盒子中,无法与DOM交互。但实际上这并不适用于Java。您可以通过JavaScript与Java进行交互,并进行DOM更改。

http://stephengware.com/proj/javasocketbridge/

在这个例子中,有两种用于交互的JavaScript方法。
发送: socket_send("This was sent via the socket\n\n"); 接收: on_socket_get(message){ more_code(message); }

0
你可能想看一下Comet,也称为服务器推送。这不会让服务器直接“更新”客户端页面,但所有新数据都通过单个连接发送到页面。
当然,Firefox 扩展(以及插件,它们是可以执行任何其他应用程序可以执行的二进制库)也可以使用套接字。请参见12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接