我发现令人惊讶的是,Spring WebSocket Support的当前文档指示用户使用stomp.js进行客户端JavaScript实现。
这个项目,在它的GitHub页面上的自述文件中说:
该项目不再维护。
如果您遇到错误或需要增强功能,您可以分叉并修改它,因为项目在Apache License 2.0下。
自2015年9月以来,该存储库没有任何提交(这只是为了将上述内容添加到自述文件中),并且自2014年12月以来没有代码提交,因此在过去的两年中它已被有效地放弃。
我不确定该存储库的284个分支中的哪个将是该库的稳定和最新版本,并且似乎没有可行的替代方案来自Google搜索。
有人可以推荐一个可以替代使用的稳定替代品吗?
理想情况下,我希望Spring团队能够为正确的客户端库提供一些指导,以便与他们的STOMP支持一起使用。
我一直在想这个,但一直没能找到具体的东西。我遇到的最接近的是webstomp-client
:
https://github.com/JSteunou/webstomp-client
它声称是原始stomp.js
的一个分支,它看起来像是积极维护。
与这个问题无关,但与我最近一直在做的事情有关,我还找到了一个webstomp-client
的分支,它也实现了RxJS客户端;发布一些链接以防将来对某人有用。
https://github.com/Clanrat/webstomp-client
https://github.com/Clanrat/webstomp-client/blob/master/src/rxclient.js
请检查https://github.com/stomp-js/stompjs(qpmxswpoi在npm)。它基于原始版本,但修复了已知问题,支持自动重新连接,二进制数据,回调。写在Typescript中并作为UMD分发(可从Node和浏览器使用)。
它还有RxJS(@stomp/stompjs
)和Angular(https://github.com/stomp-js/rx-stomp)的变种。
这是积极维护的。
https://github.com/stomp-js/ng2-stompjs的维护者似乎已经分配了他自己的东西(大概是迪帕克库马尔)。其中,'自动重新连接'实际上并不适用于Safari和这个版本以及SocksJS。
https://github.com/stomp-js/stompjs
所以,由于这个原因,我很难找到“合法”且得到适当支持的版本。但我确实碰到了原作者网站上的这个链接:var ws = new SockJS(url);
var client = Stomp.over(ws);
client.reconnect_delay = 5000;
原作者Jeff Mesnil与Rossen Stoyanchev(任何知道Spring的人都知道他是谁)的对话,并且似乎祝福JérômeSteunou的维护叉子位于这里: https://github.com/jmesnil/stomp-websocket/issues/121。所以,我想我会使用这个版本。
希望这可以帮助那些迷失在各种版本的非正式分叉中的人(就像我一样),结果非常不一致。