websockets是搜索框的一个很好的实现吗?

时间:2013-10-31 12:18:57

标签: html5 search websocket

假设我有一个文本框/搜索框

<input type="search">

然后我想只在光标聚焦在搜索框中时才将它连接到服务器。

该应用程序适用于Internet范围,搜索框可以监听每个按键。

你认为WebSockets是一个很好的搜索框实现,如上例所示吗?

1 个答案:

答案 0 :(得分:5)

根据您的说法,我猜你想要实现类似seachbox的自动填充建议,或者搜索你的类型。根据我的经验,WebSocket适用于这些用例。

WebSocket是低延迟的,因此结果会很快恢复。使用快速后端和服务器离用户不远,您可以获得接近本机的本地性能。

如果有实际流量,WebSocket也只会占用带宽,因此您无法为连接多个搜索框而支付任何流量费用。

我编写了一个演示应用程序,它使用WebSocket连接获取搜索框的自动填充建议(在Oracle DB后端搜索100万条记录)。该演示目前尚未在线,但您可以查看https://github.com/tavendo/WebMQDemo/tree/master/web/demo/autocomplete

处的代码

演示的WebSocket部分非常容易实现。该演示在浏览器中使用AutobahnJS,它在原始WebSocket之上提供了一些舒适功能,并实现了PubSub + RPC协议(WAMP)。代码,例如对于自动完成数据的请求非常简单(第717行)。

它需要运行crossbar.io服务器和Oracle DB - 而crossbar.io项目的网站目前正在建设中。所以目前还不容易这样做。

完全披露:我为Tavendo工作,开始了Autobahn和crossbar.io项目。两者都只是作为示例给出的 - 您可以使用其他WebSocket技术。这正是我熟悉的。