Firefox插件 - 套接字

时间:2008-08-16 20:31:45

标签: firefox dom sockets plugins

我一直想要一种方法来建立与服务器的套接字连接,并允许服务器操纵页面DOM。例如,这可以在股票报价页面中使用,因此服务器可以在新报价可用时推送它们。

我知道这是HTTP的请求/响应协议的经典限制(功能?),但我认为这可以作为Firefox插件实现(跨浏览器兼容性对我的应用程序并不重要)。 Java / Flash解决方案是不可接受的,因为(据我所知)他们住在一个盒子里,不能与DOM交互。

任何人都可以确认这是否在Firefox插件的能力范围内?有人已经创建了这个或类似的东西吗?

4 个答案:

答案 0 :(得分:2)

您可能希望查看Comet,这是一个长期运行的HTTP连接的奇特名称,服务器可以将更新推送到页面。

答案 1 :(得分:2)

应该可以。我开发了一个xulrunner应用程序,它使用套接字连接到TCP服务器。扩展开发可能具有相同的功能。我使用了mozdev的库 - JSLib。具体来看networking code。有Firefox add-on for JSlib add-on for Firefox的事实会让人更加自信。

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

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

答案 2 :(得分: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); }

答案 3 :(得分:0)

  

你可能想看看Comet

a.k.a。 server push。这不会让服务器直接“更新”客户端页面,但所有新数据都通过单个连接发送到页面。

当然,Firefox extension(以及plugins,它们是可以执行任何其他应用程序可以执行的任何操作的二进制库)也可以使用套接字。请参阅12