问题标签 [sente]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
session - 为什么 Sente 的 ring-req 有 cookie 而没有 session?
我正在使用 Sente 库通过 websockets 进行通信。通信已经开始,但会话似乎丢失了。我正在像这样设置 Sente:
当我从经过身份验证的客户端发送消息时,我得到以下输出:
处理程序非常简单,设置如下:
middleware/wrap-base 包含会话处理,它看起来像这样:
这适用于 AJAX 请求。我什至尝试在会话中设置 :uid 以及在用户登录后在客户端中启动通道,但没有改变会话保持为空的事实。
clojure - Sente 可以在仅服务器配置中使用吗?
我正在寻找用 Clojure 编写的新版本替换现有的基于 Websocket 的服务器。看起来Sente图书馆可能是一个合适的选择。然而,我不清楚的一件事是,Sente 在多大程度上依赖私有内部协议进行操作。
就我而言,我有一个使用 JSON-over-websockets 的现有服务器和客户端,我想在不修改任何客户端代码的情况下替换服务器。Sente 似乎对客户端请求的性质有很多特定的期望——例如,它期望客户端指定一个client-id
参数并接受:chsk/handshake
来自服务器的消息。
我的用例是否完全超出了 Sente 所针对的设计空间?如果是这样,是否有更合适的 Clojure 的 websockets 的不那么自以为是的实现?
clojure - 全栈 Clojure:如何在开发过程中同时获取浏览器 REPL 和服务器 REPL
我正在开发我的第一个全栈 Clojure 应用程序。我已经设法在 Linux Mint 中正常工作:
- 莱宁根
- figwheel + garden[auto] = 带有热代码和 CSS 重载的交互式 SPA 开发
- leiningen REPL for Server with rebel-readline,在 REPL 启动服务器,并将 SPA 提供给浏览器
- leiningen uberjar 编译,jar 文件运行,SPA 由服务器服务
我不知道该怎么做是设置一个开发环境,允许我同时拥有一个服务器 REPL 和一个 SPA REPL,这样我就可以集成 sente 以支持 websocket 并监控重新构建应用程序- SPA REPL 中的数据库状态。我想,理想情况下,我想让 figwheel + gargen[auto] 与 SPA 一起运行,通过 sente websocket 与服务器通信。
clojure - 更新 sente-boot 时的 http-kit 依赖问题
我更新的 build.boot 文件可能有问题:https ://github.com/laforge49/sente-boot/blob/master/build.boot (在后端太久了!)
我试过改变 clojure 和 clojurescript 的版本。以前我没有找到RT类,所以我至少取得了一些进展。
这是我的依赖项:
我收到此错误:
websocket - 带有 Sente 403 错误的 Clojurescript Websockets
我正在尝试从本地主机上的两个不同端口设置 Web 套接字连接。我正在使用 Sente 和 Immutant。我有以下内容,但在尝试连接时返回 403 禁止
服务器.clj
这不会引发任何错误,并且“/”路由会正确显示。
客户端.cljs
这会在尝试连接时引发 403 错误。我不知道它为什么会这样,我已经看了一段时间了,但我觉得很短。
websocket - 在 clojure 中使用 sente packers.transit/get-transit-packer 时出现无效事件“~#chsk/handshake”
使用 sente 时出现错误,导致将信息从客户端发送到服务器时失败,反之亦然。问题似乎是握手失败并出现错误
连续的ws/ping
也失败,同样的错误,但有额外的信息,
可能是什么问题,我的代码似乎没问题,并遵循 sente.xml 中的默认示例。
预期行为:Sente 将连接,我将能够send-fn
成功地在服务器和客户端之间调用和发送消息。
编辑:按照评论中的建议添加代码:
在客户端:
编辑,加法
我注意到该错误仅在我使用打包器时存在,(packers.transit/get-transit-packer)
而不是:edn
ajax - 通过 sente web-socket 通道对应该是单个请求的不间断请求
目标是允许某人实时更新在线考试的状态。(即,按激活查理的考试,更改查理斯屏幕以允许他开始参加考试。监考人之间的关系是一个监考人对许多考试。
目前,我们正在使用 sente 成功激活考试,但是一旦我们单击(激活考试)按钮,它就会继续通过路由“/chsk”一遍又一遍地发送请求。(值得称赞的是,它非常快。)在遇到以下错误之前,它成功发送了许多(10+)个这样的请求。我们认为问题出在中间件上,但是在调整包装格式以处理 websocket 请求(以及通过“/chsk”路由发送的请求之后,我们仍然收到错误。我认为问题不在于中间件,因为信息第一次通过就好了,并按预期激活了考试。我不知道为什么 sente 发送的请求不止一个。sente 正在为我们的目的工作,
我们如何确保从后端只发送一次请求?
(问题) 我一激活考试就可以冻结它,以表明 web-socket 确实做了我们想要它做的事情。
(客户端)
(服务器端)
(激活考试)
(路线)
*注意:一旦注册考试,我们就会启动客户端路由器,并使用考试的 ID 作为前端通道的用户 ID。