这个问题表明Node.js Net模块不处理ip-fragmentation: Node.js how to handle packet fragmentation with net.Server
我几乎无法想象这是真的,但我找不到任何关于此的文件(请原谅我,如果不应该太难找到关于此的信息:-))。这是真的吗?
如果没有:谢谢,这对我来说真的更安全: - )。
如果确实如此:如果我不知道整个数据报有多大,如何处理这个问题?
情况: 我与嵌入式系统(Wiznet W5500)建立了TCP连接。 MSS(最大段大小,大多等于MTU-40)将被设置为536,数据包的大小可变,大小可能超过4kb。因此,数据包将以多个段发送。一旦收到一个段,或者仅在收到整个包时,是否会触发'on data'事件?
附带问题:我是对的,数据段(关于Wiznet在解释MSS寄存器时说的话)是否属于ip片段?
因此,如果我必须发送4000byte(即有效载荷)并且MSS设置为536,我将连续收到:
segment1: 536bytes payload
segment2: 536bytes payload
segment3: 536bytes payload
segment4: 536bytes payload
segment5: 536bytes payload
segment6: 536bytes payload
segment7: 536bytes payload
segment8: 248bytes payload
可以在段8之后触发'on data'事件,'data argument'是否包含整个包,或者可能是在每个单独接收的段之后触发'on data'事件?
在继续处理之前,我如何100%确定获得整个包裹? 解决方案我想到了:
我确实相信这个“解决方案”有点棘手,我希望不需要它。
提前致谢!如果缺少任何信息:对不起,请随时提出要求: - )。