我正在尝试将消息从Node JS发布到Amazon MQ,到目前为止,我尝试过的所有库都似乎没有起作用。
图书馆1:
stomp-client
代码:
var Stomp = require('stomp-client');
var destination = '/topic/{new_topic}';
var client = new Stomp('{prefix}.amazonaws.com',
61614,
'{user}',
'{password}');
client.connect(function(sessionId) {
client.publish(destination, 'Oh herrow');
});
第一个库出错:
Emitted 'error' event at:
at StompFrameEmitter.<anonymous> (project_path\node_modules\stomp-client\lib\client.js:236:10)
at StompFrameEmitter.emit (events.js:182:13)
[... lines matching original stack trace ...]
at Socket.Readable.push (_stream_readable.js:219:10)
图书馆2:
stompit
代码:
const stompit = require('stompit');
var connectOptions = {
'host': '{prefix}.amazonaws.com',
'port': 61614,
'connectHeaders':{
'host': '/',
'login': '{user}',
'passcode': '{password}',
'heart-beat': '5000,5000'
}
};
stompit.connect(connectOptions, function(error, client) {
if (error) {
console.log('connect error ' + error.message);
return;
}
var sendHeaders = {
'destination': '/topic/{new_topic}',
'content-type': 'text/plain'
};
var frame = client.send(sendHeaders);
frame.write('hello');
frame.end();
});
第二个库出错:connect error unexpected end of stream
我不确定我还能尝试什么,但是由于错误消息甚至不够冗长,而且似乎没有很多关于此问题的在线信息,我似乎还停留在这里。
在亚马逊论坛上,只有我发现的相关文章没有答案: https://forums.aws.amazon.com/thread.jspa?messageID=831730&tstart=0
答案 0 :(得分:0)
解决这个问题对我有用的是将 ssl 连接设置为 true,如下所示:
[info] welcome to sbt 1.5.2 (Amazon.com Inc. Java 11.0.9.1)
stomp+ssl 连接的端口必须设置为 61614。