我每5秒從我的TCP套接字發送數據到我的服務器。在一小時內以這種發送速率發送消息將消耗多少數據。TCP套接字數據消耗
每次打開套接字並將數據從客戶端抽出到服務器。我在客戶端使用3G GSM調制解調器。
我的消息是,ID1 $ Socket $ Open $ timestamp。全部是字符串
我每5秒從我的TCP套接字發送數據到我的服務器。在一小時內以這種發送速率發送消息將消耗多少數據。TCP套接字數據消耗
每次打開套接字並將數據從客戶端抽出到服務器。我在客戶端使用3G GSM調制解調器。
我的消息是,ID1 $ Socket $ Open $ timestamp。全部是字符串
ID1$Socket$Open$timestamp
是25個字節,假設一個8位字符串,並且假設您沒有在您的消息之間發送任何其他數據(頭/分隔符等)。
因此,每5秒發送一條消息是每分鐘消息數爲60/5 = 12
,即每小時消息數爲12 * 60 = 720
。每個消息25個字節,即每小時720 * 25 = 18000
個字節(加上TCP/IP頭和每個消息幀的開銷,以及每個TCP幀的ACK)。
某處有一篇文章顯示TCP的最大帶寬利用率爲83%或87%,我忘記了其中哪些,其餘的是頭文件和可能的ACK。 – EJP 2015-03-31 23:36:35
TCP本身並不能提供足夠的信息來計算此類信息。現在,如果你說TCP/IP over 10baseT,那麼你有一個1500字節的最大MTU和最少20字節的TCP和IP頭,所以有1460個淨荷字節。然後,以太網添加一個14字節的標題,一個4字節的CRC,7字節的前導碼和1字節的幀開始。還有一個12字節的幀間間隙。因此,假設沒有休息,你有1460/1538 == 94.9%。 ACK不佔用額外的空間,帶寬通常是雙向的。其他網絡技術具有不同的幀和不同的MTU,從而改變最大效率。 – 2015-04-02 03:10:53
無法回答,直到您告訴我們您每5秒發送多少數據。 – nos 2015-03-31 20:34:34
@nos my message is,ID1 $ Socket $ Open $ timestamp。全部是字符串 – bhuvan 2015-03-31 21:05:14