1

bufferSize着信バッファをTCPクライアントに制限できるNodeJs TCPクライアントがあることに気付きました。

私の質問はbufferSize、クライアント側で を 1 バイトに設定し、サーバーから 16 バイトを送信dataした場合、クライアントで 16 の異なるイベントを取得する必要があるということです。

4

1 に答える 1

3

bufferSizeあなたが言及しているのは、書き込み可能なストリームの読み取り専用プロパティです

Object.defineProperty(Socket.prototype, 'bufferSize', {
  get: function() {
    if (this._handle) {
      return this._handle.writeQueueSize + this._writableState.length;
    }
  }
});

(別のことを言っている場合は訂正してください)

クライアントがデータを受信する方法を制御したい場合は、ストリームを非フロー モードに設定する必要があります。

readable.on('readable', function() {
  var chunk;
  while (null !== (chunk = readable.read())) {
    console.log('got %d bytes of data', chunk.length);
  }
});

ドキュメントを参照

readable.read(5)5バイトだけ読みたい場合はパスできます。イベントをアタッチしない限り、ストリームはデフォルトで非フロー モードになります'data'(この場合は実行しないでください)。

于 2013-10-15T17:11:01.847 に答える