html - websockets 是搜索框的良好实现吗?

标签 html search websocket

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

<input type="search">

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

该应用旨在供互联网范围内使用,搜索框会监听每次按键。

您认为 WebSockets 是像上面示例那样的搜索框的良好实现吗?

最佳答案

根据您所说的,我猜您想要实现诸如搜索框的自动完成建议或键入时搜索之类的功能。根据我的经验,WebSocket 非常适合这些用例。

WebSocket 是低延迟的,因此返回结果的速度非常快。借助离用户不太远的快速后端和服务器,您可以获得接近本地本地的性能。

WebSocket 也仅在存在实际流量时才消耗带宽,因此您不会因连接多个搜索框而支付任何流量损失。

我编写了一个演示应用程序,它使用 WebSocket 连接获取搜索框的自动完成建议(在 Oracle 数据库后端搜索 100 万条记录)。演示暂时不在线,但你可以看一下https://github.com/tavendo/WebMQDemo/tree/master/web/demo/autocomplete的代码。

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

它需要一个 crossbar.io 服务器和一个 Oracle 数据库才能运行 - crossbar.io 项目的网站目前正在 build 中。所以目前运行起来并不容易。

全面披露:我在 Tavendo 工作,该公司启动了 Autobahn 和 crossbar.io 项目。两者都仅作为示例给出 - 您可以使用其他 WebSocket 技术。这只是我所熟悉的。

关于html - websockets 是搜索框的良好实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19706367/

相关文章:

javascript - 容器导航下拉菜单的 onClick 问题(需要双击下拉菜单)

javascript - 带有图像 slider 的汉堡菜单

css - 更改调整器的属性thorguht css

java - 简单的二分查找程序...请告诉我这段特定代码有什么问题

python - 在将点添加到节点之前是否预先制作了二进制分区树?

search - GitHub 搜索 - 如何从搜索结果中排除(逻辑非)公司或用户

c++ - 结构的地址是否与其第一个成员的地址相同?

javascript - 无法读取未定义的属性 'toString', 'isNan'

php - 如何将用户添加到 websocket 聊天中

javascript - websocket 在关闭时重新连接,代码为 1006