加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 19:36:10 所属栏目:资源 来源:网络整理
导读:我在Clojure中编写一个应用程序服务器,它将在客户端上使用ClojureScript. 我想找到一种高效,惯用的方法来将数据从服务器推送到客户端,作为实时事件,理想情况下使用以下组合: http-kit core.async 戒指 (但我对其他可能性开放) 任何人都可以提供一个很好的例
我在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读