昨天开始开发插件更新部分和服务器交互,约定传输数据格式为JSON,后来经过思考后,不使用订阅TOPIC的形式,这样会造成延时,决定采用队列的形式。
本身队列是单对单的形式送发送的,这里就遇到问题了,我们需要2个队列一个用来发送,一个用来接收,当客户端订阅了服务器的一个公共队列,并发送消息,服务器在接收到消息后,并通过接收队列来返回消息,这里发送队列是服务器的公共队列,接收队列是客户端在订阅时,通过定义STOMP的REPLY-TO来生成的临时接收队列,由于不想接收队列太多,难以维护,还可以设置PERSISTENT为FALSE,这样接收队列会在接收消息后一段一时间内自己删除。
这是我用C++封装的LIBSTOMP,sendingmsg的后5个参数是,发送的队列,reply-to的地址,格式,PERSISTENT,和内容BODY。
在生成临时接收队列后,记得用SUBSCRIBE来订阅这个临时队列。
最后就可以监听等待服务器返回消息了。