簡體   English   中英

stomp nodejs在連接上不發送頭

[英]stomp nodejs not sending header on connect

我有一個使用stomp的超級簡單的nodejs應用程序,可使用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');
};

這樣可以很好地連接,但是標題似乎被忽略了。 有人知道為什么會這樣嗎?

好消息是,您確實正在將標頭發送到服務器。 壞消息是,使用像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中錯誤的(部分)軟件包。 這里可能有一些線索。

我用來測試的是這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM