Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Post 如何确定数据上传总量+;在TCP/IP中下载_Post_Get_Tcp - Fatal编程技术网

Post 如何确定数据上传总量+;在TCP/IP中下载

Post 如何确定数据上传总量+;在TCP/IP中下载,post,get,tcp,Post,Get,Tcp,我需要计算在TCP/IP中将固定大小的数据从客户端传输到服务器时的总数据传输量。它包括连接到服务器、发送请求、报头、接收响应、接收数据等 更准确地说,如何在使用POST和get方法时获得总数据传输 这有什么公式吗?即使是理论上的也可以(不考虑数据包丢失或连接重试等) 仅供参考,我试过RFC2616和RFC1180。但这些都超出了我的想象 有什么建议吗 提前感谢。我想说,请求和响应平均每行大约有8行标题,每行大约有30个字符。然后考虑将任何上传的二进制文件转换为Base64的大小增加 您没有说明是

我需要计算在TCP/IP中将固定大小的数据从客户端传输到服务器时的总数据传输量。它包括连接到服务器、发送请求、报头、接收响应、接收数据等

更准确地说,如何在使用POST和get方法时获得总数据传输

这有什么公式吗?即使是理论上的也可以(不考虑数据包丢失或连接重试等)

仅供参考,我试过RFC2616和RFC1180。但这些都超出了我的想象

有什么建议吗


提前感谢。

我想说,请求和响应平均每行大约有8行标题,每行大约有30个字符。然后考虑将任何上传的二进制文件转换为Base64的大小增加

您没有说明是否还需要计算TCP数据包头,在这种情况下,您可以假设MTU大约为1500,因此每1500个数据字节添加16个字节(TCP头)

最后,您可以设置一个数据包嗅探器,并计算数据样本的实际字节数


哦,是的,您可能还需要考虑deflate/gzip编码。

您无法预先知道总传输大小,甚至忽略重传。有几件事会阻止你:

  • TCP选项在建立连接时在主机之间协商。一些选项(例如,时间戳)向TCP标头添加额外的数据
  • “总数据传输大小”不清楚。例如,以太网在所使用的IP之上增加了相当多的比特。802.11(无线)将增加更多功能。HDLC或PPP在T1上也是如此。甚至不要考虑帧中继。某些链接可能使用压缩(这将减少总大小)。总大小取决于测量它的位置,即使是单个数据包
  • 假设您只对第2层的总八位字节大小感兴趣,并且您知道将提前协商的TCP选项,那么您仍然无法知道路径MTU。即使在连接过程中,也可能会发生变化。或者,如果您没有进行路径MTU发现(这将是wierd),那么数据包可能会在某个地方出现碎片,远程端将看到与您不同的数据传输量
我不知道你为什么需要知道这一点,但我建议:

  • 如果你只是想估算一下,请观看Wireshark中的典型连接。计算开销百分比(与您提供给TCP和从TCP接收的数据的大小相比)。用这个数字来估计:它将足够接近,除非是在病理情况下
  • 如果您需要确定您的终端发送和接收了多少数据,请使用libpcap捕获数据包流并进行检查

您是在查找特定事务的计数,还是在查找所使用的特定端口上的通信速率?查找特定事务的计数。我知道从客户端发送到服务器的数据大小。因为我知道URI,我将直接使用POST方法,所以我也知道客户端请求头的大小。我可以假设响应头的大小。现在,作为数据传输的其他东西要考虑什么?我要计算基于GPRS/EDGE的连接的总数据传输。它们按KB收费。那么,有什么要考虑的呢?我知道从客户端上传的数据大小。我将使用POST方法,所以我知道请求头的大小,也可以假设响应头。我的问题是-1。在数据传输中还有什么要考虑的事情?2.随数据大小变化的变量(每个数据包的数据包头除外)是什么?