微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Web服务 – 从Clojure到ClojureScript的服务器推送数据

我在Clojure中编写一个应用程序服务器,它将在客户端上使用ClojureScript.

我想找到一种高效,惯用的方法来将数据从服务器推送到客户端,作为实时事件,理想情况下使用以下组合:

> http-kit
> core.async
>戒指

(但我对其他可能性开放)

任何人都可以提供一个很好的例子/做法吗?

解决方法

我喜欢使用 aleph,这里是 wiki,你可以简单地使用wrap-ring-handler函数来包装现有的处理程序.

对于’push’功能,最有用的部分是aleph的异步处理程序.它建立在netty之上,而不是一个连接一个线程模型,所以服务器端不需要担心tcp连接数.

一些实现细节:

>服务器端使用aysnc处理程序,保存所有客户端连接(通道)
>在60(例如)秒,如果没有’新数据’,发送一个空的响应
>如果服务器端有响应,请发送.
>客户端可以简单地向服务器发送正常的http请求
>当客户端得到响应时,处理响应正文,然后重新发送http请求
>请检查客户端和所有代理服务器以设置正确的超时值

这里有更多的方法http://en.wikipedia.org/wiki/Push_technology

原文地址:https://www.jb51.cc/html/224083.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐