我有一个超级简单的nodejs应用程序,使用stomp连接到使用websockets的服务器。
问题是应用程序没有发送我告诉它发送的标题。文档和示例无法更清楚地了解如何发送标题,因此我不知道为什么我没有在wireshark中看到我的。
var Stomp = require('stompjs');
var client = Stomp.overWS('ws://localhost:8080/web/wsendpoint');
var headers = {
login: 'mylogin',
passcode: 'mypasscode',
// additional header
'Auth-Token': 'token'
};
client.connect(headers, connectCallback);
var connectCallback = function(frame) {
alert('connected');
};
这种连接很好,但标题似乎被忽略了。 任何人都知道为什么会这样?
答案 0 :(得分:3)
好消息是,您确实将标题发送到服务器。坏消息是,使用像这样的DOC代码:
client.connect(headers, connectCallback, errorCallback);
我收到了:
11 Mar 11:34:07 - server is connected to 127.0.0.1:8080
11 Mar 11:34:07 - {
command: 'CONNECT',
header: {
login: '[object Object]',
passcode: 'undefined',
'accept-version': '1.1,1.0',
'heart-beat': '10000,10000' },
body: '' }
清楚地表明,stompjs正在登录字段中发送headers
对象。无论如何,使用你的代码我可以看到一个合适的框架:
{ command: 'CONNECT',
header:
{ login: 'mylogin',
passcode: 'mypasscode',
'accept-version': '1.1,1.0',
'heart-beat': '10000,10000' },
body: '' }
所以可能 - 我想 - 拥有一个好的代码,你正在看你的wireshark中的错误(部分)包。一些线索可能在here。
我用于测试的是here。