nodejs:套接字数据是否需要重新组装并为数据包边界添加长度?

nodejs: does socket data need reassemble and prepend length for packet boundary?

我正在构建一个 TCP 服务器。我有一些问题:

在nodejs中,socket接收数据事件:

  1. 需要注意数据包顺序是否正确,换句话说,tcp数据包重组是如何处理的?它是否已由底层 OS 或 Nodejs 处理?或者我需要自己重新组装?

  2. nodejs 会自动处理数据包边界吗?意思是,是可能的:

    • 在一个数据事件中接收多个数据包
    • 一个数据包分布在多个数据事件中

Do need to take care whether the packet order is correct, in other words, how the tcp packets reassemble is handled? Is it handled already by the underlying OS or Nodejs? Or I need to do reassemble myself?

由TCP处理。

Will nodejs take care the packet boundary automatically? Meaning, is the possible:

  • receive multiple packets in one data event
  • one packet spread in multiple data events

TCP/IP是一个字节流协议。应用程序看不到数据包或数据包边界。