3
我已经在客户端使用protobuf.js为rabbitmq stomp创建了一个示例。 protobuf的例子链接:https://github.com/dcodeIO/ProtoBuf.js使用rabbitmq stomp发送protobuf(二进制)数据
发送邮件文件内容: -
var Game = builder.build("Game");
var Car = Game.Cars.Car;
var car = new Car("Rusty", "mayur");
var buffer = car.encode();
var mq_username = "guest",
mq_password = "guest",
mq_vhost = "/",
mq_url = 'http://192.168.0.14:15674/stomp',
mq_queue1 = '/queue/A3';
var client = Stomp.client(mq_url);
function on_connect()
{
client.send(mq_queue1, { priority: 9}, buffer);
}
window.onload = function()
{
client.connect(
mq_username,
mq_password,
on_connect,
on_connect_error,
mq_vhost
);
}
接收文件内容: -
var Game = builder.build("Game");
var Car = Game.Cars.Car;
var car = new Car("Rusty", "mayur");
var buffer = car.encode();
var mq_username = "guest",
mq_password = "guest",
mq_vhost = "/",
mq_url = 'http://192.168.0.14:15674/stomp',
mq_queue1 = '/queue/A3';
var client = Stomp.client(mq_url);
function on_connect()
{
un = client.subscribe(mq_queue1, on_message);
}
function on_message(m)
{
console.log('message received');
console.log(m);
var buffer = m.body;
alert(buffer);
var carDec =Car.decode(buffer);
alert(carDec.model);
}
window.onload = function()
{
client.connect(
mq_username,
mq_password,
on_connect,
on_connect_error,
mq_vhost
);
}
我无法解码的数据通过蹬发送(protobuf的二进制数据)。 请指导我设置“content-length”为stomp标题如果通过“content-length”解决问题。
请帮帮我。没有人知道这件事?
感谢您实际发布解决方案 – zeion 2016-07-13 15:21:25
@Fouad您使用base64编码吗? – pantonis 2017-07-23 10:04:41
@Fouad你能分享代码吗? – pantonis 2017-10-03 06:12:44