【发布时间】:2012-11-04 20:12:07
【问题描述】:
关于 TCP 的几个问题。
我知道如果数据包遇到具有较低 MTU 等的网络设备,数据包将被“拆分”或碎片化。但我遇到的问题是了解如何在应用程序中“重建”我的有效负载。 (我已经尝试了 2-3 个小时,但似乎无法正确)
首先要做的事情。发送数据包时,以下两个选项的优缺点是什么;
NetworkStream ns = client.GetStream();
ns.Write(BitConverter.GetBytes(100));
ns.Write(BitConverter.GetBytes("Test"));
或
NetworkStream ns = client.GetStream();
byte[] payload = BitConverter.GetBytes(100).Concat(BitConverter.GetBytes("Test"));
ns.Write(payload); //, 0, payload.Length);
以及如何在 recv 处重建有效负载。部分是否已拆分?我会喜欢用勺子喂这个,因为我似乎错过了我当前应用程序中一些非常重要但不那么明显的部分。
【问题讨论】:
标签: c# networking tcp packet