Javascript Node.js,protobuffer,buffer.lentgh。。如何通过tcp发送结构化缓冲区/消息?

Javascript Node.js,protobuffer,buffer.lentgh。。如何通过tcp发送结构化缓冲区/消息?,javascript,node.js,buffer,byte,protocol-buffers,Javascript,Node.js,Buffer,Byte,Protocol Buffers,我编写了一个node/ssjs程序,它可以: Tcp连接到数据服务器(Apache MIMA),使用TLS模块。(好的) 通过protobuffer模块对消息进行编码/解码(序列化/反序列化)。。(好的) 将序列化消息发送到服务器并获取响应。(不好) 服务器的手动类型: Structure of message: [ Length | Header length | Header (| Body length |Body) ] Length – message length = fixed

我编写了一个node/ssjs程序,它可以:

  • Tcp连接到数据服务器(Apache MIMA),使用TLS模块。(好的)
  • 通过protobuffer模块对消息进行编码/解码(序列化/反序列化)。。(好的)
  • 将序列化消息发送到服务器并获取响应。(不好)
服务器的手动类型:

Structure of message:
[ Length | Header length | Header (| Body length |Body) ]
Length – message length = fixed size (4 bytes). Note that this is only the size of
         following message (not the prefix itself);
Header  length – fixed size (4 bytes);
Header – contains message metadata (e.g. messageId);
Body length – fixed size (4 bytes, optional). If body is not required, body size is 
              not serialized. In such case, message is 4 (message length) + 4 
              (header length) + length(header) bytes long.
Body – the message payload (optional). If body is not present (e.g. response
       notification without data) it is not serialized.

Length [bytes]  Content    
4               Whole message length       
4               Header message length (H_LEN)      
H_LEN           Protocol Buffers encoded MessageHeaderProto    
4               Body message length (B_LEN), optional      
B_LEN           Protocol Buffers encoded Message
我的问题是:

  • 如何获取protobuffer的4字节长度
  • 如何连接 发送前的缓冲区
  • 如何发送
  • 有可能用它吗 JavaScript?观察:服务器使用小端字节顺序, 客户端也是

谢谢大家……

我也在努力寻找类似的东西。