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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些