iOS - 使用Websockets自动完成

时间:2015-03-13 19:23:58

标签: ios node.js http autocomplete websocket

我正在构建一个允许用户在大型数据库中搜索图书的iOS应用。我们希望实施"自动完成"在用户输入时从服务器检索标题的功能,以在表格视图中提供建议(我们的后端使用排名算法来获取相关结果)。

我们正在使用Starscream框架来实现Websockets,但我想就实现此功能的最佳方式获得一些建议。到目前为止,我已经提出了两个选择:

  1. 当用户启动应用程序时打开Websocket连接,并在整个会话期间保持此连接。网络连接的更改将导致管道中断,因此需要使用客户端ping来检测此情况并建立新连接。
  2. 当用户点按搜索栏开始输入时,打开Websocket连接。只有在搜索栏处于活动状态时(键盘存在时),连接才会保持打开状态,并在键盘解除时断开连接。
  3. 要记住的一件事是应用程序有多个视图和功能,不涉及搜索,实际上需要自己的连接(例如,消息传递功能当前使用自己的Websocket连接来发送/接收消息来自其他用户,以及其他视图从REST API下载内容)。所以这引出了另一个问题:

    同时从同一个应用程序维护多个Websocket连接是否有任何缺点?此外,可以使用哪些良好实践来确保连接通过网络转换(即从WiFi转移到蜂窝)保持活跃状态​​?我对这个问题有很多问题,尤其是消息服务。

    对此主题的任何建议/帮助将不胜感激。作为参考,我们的服务器使用带有ws Websockets框架的Node.js。

0 个答案:

没有答案