STOMP 客户端开发

STOMP 客户端开发

需求

客户端需要彼此通信,如主持人需要能够控制所有客户端的第三方应用开启权限

主要问题

目前的c/s模型中是客户端主动连接服务器,客户端发出请求,服务器给出响应,缺少信息主动从服务器流向客户端的流程。

可选方案

  • 在客户端上开启服务器接收主动连接请求,如基于TCP的服务器、基于HTTP的服务器等。

    主要问题是在客户端上再监听一个端口看起来非常冗余。

  • 轮询,客户端定时向服务器查询是否有信息更新。

    主要问题是这会产生非常多无意义的查询,如果客户端足够多也会对服务器造成负担。保证对每个客户端不重不漏地推送信息也让服务端代码稍显复杂。

  • 客户端主动建立长连接,阻塞式地读取来自服务端的信息,使得客户端之间的消息传递经过客户端–服务器–客户端这样的路径完成。

    这是最终选定的方案

方案细节

我们通过基于websocket的STOMP协议实现具体方案。

我负责开发客户端部分

由于我们的STOMP协议运行在websocket协议上,因此我使用了WebSocketSharp库实现websocket通信。

对于STOMP的客户端,在网上并没有找到成型的C# 库,但是好在STOMP协议相对简单,我根据当前项目需要实现了一个项目定制的STOMP客户端。

STOMP协议简介

STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值