Sockets 节省带宽GPRS和TCP
你好,我为我的旧windows手机制作了一个程序,每5秒钟发送一次gps数据、温度等,只是为了实验性地创建一个车队管理系统 我注意到在一小时内消耗了350kb的数据,尽管我只发送了20kb的数据 由于我对网络没有深入的了解,一个tcp连接需要多少字节 也许我应该让套接字保持活动状态,因为我每5秒关闭和打开一次。这样可以节省字节吗 MTU在这里也很重要吗? 还有其他减少开销的方法吗?Sockets 节省带宽GPRS和TCP,sockets,tcp,Sockets,Tcp,你好,我为我的旧windows手机制作了一个程序,每5秒钟发送一次gps数据、温度等,只是为了实验性地创建一个车队管理系统 我注意到在一小时内消耗了350kb的数据,尽管我只发送了20kb的数据 由于我对网络没有深入的了解,一个tcp连接需要多少字节 也许我应该让套接字保持活动状态,因为我每5秒关闭和打开一次。这样可以节省字节吗 MTU在这里也很重要吗? 还有其他减少开销的方法吗? 谢谢让我们在这里做一些数学题 每5秒是每小时720个连接加上数据。20K/720是每个连接大约28字节的有效负载(
谢谢让我们在这里做一些数学题 每5秒是每小时720个连接加上数据。20K/720是每个连接大约28字节的有效负载(您的GPS数据)
IP and TCP headers along are 48 bytes in addition to whatever data is being sent.
3-way handshake connection: 3 packets (2 out, 1 in) == 96 bytes out and 48 bytes in
Outbound Data-packet: 48+28 bytes == 76 bytes (out)
Inbound Ack: 48 bytes (in)
Close: 48 bytes (out)
Final Ack: 48 bytes (in)
Total out per connection: 220
Total in per connection: 144
Total data send/received per connection: 220+144 = 364
Total data usage in one hour = 364 * 720 = 262K
所以我在你的数据使用估计的大概范围内
如果您希望减少带宽使用,这里有三个想法:
Total data send/received per connection =
220+48 + 144+48 = 460
Total data usage in one hour = 460 * 720 = 331K
因此,我在一小时内修正的331KB的估算值与OP看到的有点接近。让我们在这里做一些计算 每5秒是每小时720个连接加上数据。20K/720是每个连接大约28字节的有效负载(您的GPS数据)
IP and TCP headers along are 48 bytes in addition to whatever data is being sent.
3-way handshake connection: 3 packets (2 out, 1 in) == 96 bytes out and 48 bytes in
Outbound Data-packet: 48+28 bytes == 76 bytes (out)
Inbound Ack: 48 bytes (in)
Close: 48 bytes (out)
Final Ack: 48 bytes (in)
Total out per connection: 220
Total in per connection: 144
Total data send/received per connection: 220+144 = 364
Total data usage in one hour = 364 * 720 = 262K
所以我在你的数据使用估计的大概范围内
如果您希望减少带宽使用,这里有三个想法:
Total data send/received per connection =
220+48 + 144+48 = 460
Total data usage in one hour = 460 * 720 = 331K
因此,我在一小时内修正的331KB的估计值与OP看到的有点接近。我发送了290个gps信息包。总共8240字节。根据计算,它应该需要约106KB。但它需要150kb。我不知道这些字节是从哪里来的我发送了290包gps信息。总共8240字节。根据计算,它应该需要约106KB。但它需要150kb。我不知道这些字节是从哪里来的