2014-02-19 78 views
5

我在iOS 7中玩弄CoreBluetooth,並且已經成功地讓兩臺設備相互之間發送了相當大量的數據(一臺是中央設備,一臺是外設)。BLE MTU更高但速度相同

在iPhone 5和4S之間我的MTU爲20字節,在iPhone 5s和iPhone 5之間,我的MTU爲132字節。尺寸要大得多,所以我認爲會發送更少的單個消息,因此傳輸的總時間會減少。

不幸的是,這兩種情況下的時間幾乎相同(大約15秒)。我原來的假設是不正確的還是我可能做錯了?

+0

您如何知道MTU尺寸?你是否根據讀取回調中的偏移值來計算它?你可以嘗試如果改變連接延遲有一些影響? – allprog

+0

當我登錄到控制檯時,MTU在描述我的對象。另外,我可以直接從CBCentral的maximumUpdateValueLength屬性中讀取它。 – Ricky

回答

3

L2CAP具有20個字節的MTU。如果要發送超過20個字節的數據,它將以多個數據包發送。最有可能的是132個字節以7個數據包發送,其速率與7個20字節數據包的發送速率相同。所以吞吐量是一樣的。

+0

你能提供一個源代碼鏈接嗎?維基百科說:「在基本模式下,L2CAP提供的數據包有效負載可配置爲64 kB,默認MTU爲672字節。」 –