stomp server(go or C#)

stomp server

特别适合前后端分离的方式,stomp毕竟是基于websocket的,这样不论是web还是其他的客户端,消息传输双向进行,速度比较快.
stomp支持数据的订阅,这样,服务端的一份数据,可以同时给所有客户端.

现在都开始搞前后端分离的,终端用户这里,使用了本地windows服务+C#做的窗体客户端,还用Vue做了Web的一套页面.
不使用websocket,web端就很麻烦,需要写很多定时器刷新数据,所以 后面定下来使用的方式是:
Vue做Web的前端(stompjs客户端)
C#做窗体的前端
本地服务做成windows服务:一个是解析Vue的项目的资源的Web服务,另一个是StompServer.一个解析图片,js等资源,一个实现接口.
.NET的是基于WebSocket-sharp做的,所以web和websocket使用同一个端口.

go版本的也是如此,不过它可以跨平台.

go版本

  基于“net/http”的,使用go自己的库
  https://github.com/0xAAFF/stompserver

  go版本的stomp server的例子:
  https://github.com/0xAAFF/stompserver_example

C#版本


https://github.com/0xAAFF/xstomp

XStompServer Based on WebSocket-sharp

翻译的协议

自己顺手翻译了一下Stomp的一点协议
https://github.com/0xAAFF/Stomp_V1.2_ZH-CN

其他

两个stomp server的库并不是完全支持了stomp的协议,其实跟java的库差不多,基础功能是实现了message broke

二者代码差不多。

如果您在使用过程中有不懂的或者发现了bug,留言吧。

废话

适用于本地服务+前后段分离的结构

二者都是使用一个端口,实现了web server和stomp server。这个不是我实现的,是net/http或者C#上的WebSocket-sharp自己就实现的,我只是扩展出了stompserver。

本质上,stomp是基于websocket的。所以,stomp支持几乎所有开发语言做的客户端。恩,跨平台跨语言嘛

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容