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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的HTML相关文章