簡體   English   中英

從節點中的套接字讀取/解析json數據

[英]read/parse json data from socket in node

我有一個node.js net TCP服務器,在這里我從客戶端接收json數據。 我想將其緩沖直到整個json塊到達為止,而不是解析它,也許只是將其轉發到其他地方。 哪些模塊與最新節點(0.6.x)兼容?

應該很快,如果是純js,那對我來說更好。

b。

嗡嗡聲,用於緩沖的net模塊,用於解析器的JSON.parse(),對不起似乎很明顯,但是...簽出: https : //github.com/nodejitsu/node-http-proxy轉發

在重新考慮該問題並使用非常簡單直接的解決方案解決該問題后,我一直在研究這個問題已有好幾個小時。

我的應用程序正在接收utf-8編碼的JSON數據,有時是非常大的數據。 最后,我還有我的JSON文檔的大塊,為了成功解析它們,我需要完成這些大塊。

我的解決方案是一個簡單的String緩沖區變量,只要接收到“換行”即“ \\ n”,我就用傳入的數據填充該變量。 然后,我“交付”要解析的數據,並繼續用下一條消息填充緩沖區。

我的代碼如下:

var buffer = '';
client.on('data', function(data) {
    if (data.indexOf('\n') < 0) {
      buffer += data;
    } else {
      var msg = buffer + data.substring(0, data.indexOf('\n'));
      buffer = data.substring(data.indexOf('\n') + 1);

      console.log('Sending msg: ' + msg);
    }
}

該解決方案僅能起作用,因為我的協議基於utf-8,並以'\\ n'作為分隔符。

暫無
暫無

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

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