移動iOS設(shè)備如何跨系統(tǒng)傳輸文件

## 平臺無關(guān)

理論上來說, 快速傳輸方案是跨平臺的. 對于 iOS / Android 來說, 由于操作系統(tǒng)對于權(quán)限管理的不同策略,

導(dǎo)致某些操作在 Android 上可以由程序自動執(zhí)行, 而在 iOS 上需要用戶介入操作. 比如:

1. 打開藍牙模塊.

2. 打開 Wifi 模塊.

3. 建立 Wifi 熱點.

4. 連接 Wifi 網(wǎng)絡(luò).

## 快傳方案原理

發(fā)現(xiàn)階段 -> 傳輸階段

快傳的整個流程的核心分為兩部分:

- 發(fā)現(xiàn)階段: 發(fā)送端和服務(wù)器端需要互相知道對方的標識.

- 傳輸階段: 一旦雙方知道對方的唯一標識以后, 可以通過建立數(shù)據(jù)鏈路來互相通信, 包括傳輸文件.

## 發(fā)現(xiàn)階段

- UDP 廣播: UDP 廣播的先決條件是發(fā)送方和接收方處于同一個Wifi網(wǎng)絡(luò)環(huán)境中. 如果發(fā)送方和接收方不在同一個 Wifi 環(huán)境中, 則無法發(fā)現(xiàn).

- 藍牙 廣播: 地理位置限制, 要求發(fā)送方和接收方處于藍牙協(xié)議允許的距離之內(nèi).

- 聲波 廣播: 地理位置限制, 要求發(fā)送方和接收方能夠互相接收到聲波信號, 距離非常小.

- ZeroConf/Bonjour 協(xié)議: 基于mdns協(xié)議, 同一局域網(wǎng)的設(shè)備和服務(wù)發(fā)現(xiàn).

- 服務(wù)器協(xié)助: 如果連接雙方可以連接到服務(wù)器, 可以由服務(wù)器輔助發(fā)現(xiàn).

## 傳輸階段

- Wifi Direct

- IP網(wǎng)絡(luò)傳輸

- 藍牙傳輸

- 聲波傳輸

### Wifi Direct 傳輸

在 Wifi 模塊使能的情況下, 硬件直接傳輸, 無需接入網(wǎng)絡(luò), 不使用 IP 協(xié)議, 通信雙方在 200 米范圍內(nèi)有效. 支持 802.11a, 802.11g

802.11n 的 Wifi 模塊都支持 Wifi Direct 協(xié)議. 但是 Wifi Direct 傳輸不能廣播, 所以不能用于通信雙方的設(shè)備發(fā)現(xiàn). 在啟動 Wifi

Direct 之前, 可以通過藍牙或者聲波的廣播用于設(shè)備發(fā)現(xiàn), 蘋果的 AirDrop 使用的是藍牙協(xié)議.

### IP 網(wǎng)絡(luò)傳輸

- 同局域網(wǎng)內(nèi)

如果通信雙方在同一局域網(wǎng)內(nèi) (通過 UDP 廣播發(fā)現(xiàn)), 兩個設(shè)備可以直連, 通過基于 TCP 的某些應(yīng)用協(xié)議(HTTP, FTP, 等)進行文件傳輸, 其中一臺設(shè)備作為 Server, 另外一臺設(shè)備作為 Client.

- 不同局域網(wǎng)內(nèi)

1. P2P

a). 直連和打洞

不同局域網(wǎng)內(nèi)的設(shè)備, 也有可能進行直連, 如: 多個個局域網(wǎng)可以互聯(lián) 另外一種情況是作為服務(wù)器端的一方在網(wǎng)關(guān)或者防火墻上有映射的端口,

能夠透過網(wǎng)關(guān)接收客戶端方的鏈接請求, 但是這種情況下需要在網(wǎng)關(guān)或者防火墻上進行配置, 現(xiàn)在的應(yīng)用場景基本不可能使用這種方式.

現(xiàn)在網(wǎng)關(guān)一般具有 uPnP 功能, 服務(wù)方可以通過發(fā)送 uPnP 協(xié)議命令動態(tài)在網(wǎng)關(guān)上配置端口映射, 從而可以正常接受客戶端的鏈接, 進行通信. 但是這種情況下, 雙方不能直接互相發(fā)現(xiàn), 需要借助輔助的通信手段進行, 如藍牙, 聲波, 服務(wù)器輔助發(fā)現(xiàn)等.

c). 建立Wifi熱點

另外一種情況是作為服務(wù)器的一方可以建立 Wifi 熱點, 要求客戶端連接到此熱點上, 這樣雙方實際上處于同一局域網(wǎng)內(nèi), 可以使用同局域網(wǎng)

內(nèi)的通信傳輸方式. 受操作系統(tǒng)的限制, 某些系統(tǒng)(如 iOS), 程序或者 API 不能直接創(chuàng)建熱點, 接入熱點, 需要用戶手動操作. 體驗上不

好,雖然也可以通過其他通信手段, 如藍牙或者聲波, 對用戶的操作進行一些提示.

2. 服務(wù)器中轉(zhuǎn)

只要雙方能都連接到中繼服務(wù)器上, 則可以由服務(wù)器進行文件的轉(zhuǎn)發(fā). 這種雖然能傳輸文件, 但是和快速傳輸文件的初衷相背離.

### 藍牙傳輸 & 聲波傳輸

近距離的傳統(tǒng)傳輸手段, 不再贅述.

## 技術(shù)方案

快牙的技術(shù)方案主要采用以下兩種:

1. UDP 在局域網(wǎng)內(nèi)設(shè)備發(fā)現(xiàn)進行直連, 通過基于 TCP 的應(yīng)用協(xié)議進行文件傳輸.

2. 有局域網(wǎng)但是不能發(fā)現(xiàn)的情況下使用服務(wù)器中轉(zhuǎn)的模式.

3. 沒有 Wifi 網(wǎng)絡(luò)但是雙方能連接到服務(wù)器上, 使用服務(wù)器中轉(zhuǎn)的模式.

## 結(jié)論

現(xiàn)在看來, 通過 藍牙 + 聲波 進行設(shè)備發(fā)現(xiàn), 通過 Wifi Direct 進行文件傳輸, 是一個近距離文件快速傳輸?shù)闹饕桨? 其他的傳輸方案

可以作為極端情況下或者非近距離情況下的補充.

?iOS 和 Android 都支持 Wifi Direct

還有那些需要補充的大神一起研討

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市售滤,隨后出現(xiàn)的幾起案子墓律,更是在濱河造成了極大的恐慌,老刑警劉巖棍鳖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡及刻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門竞阐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴饭,“玉大人,你說我怎么就攤上這事骆莹】怕В” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵幕垦,是天一觀的道長丢氢。 經(jīng)常有香客問我傅联,道長,這世上最難降的妖魔是什么疚察? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任蒸走,我火速辦了婚禮,結(jié)果婚禮上貌嫡,老公的妹妹穿的比我還像新娘比驻。我一直安慰自己,他們只是感情好岛抄,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布别惦。 她就那樣靜靜地躺著,像睡著了一般夫椭。 火紅的嫁衣襯著肌膚如雪掸掸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天益楼,我揣著相機與錄音猾漫,去河邊找鬼。 笑死感凤,一個胖子當(dāng)著我的面吹牛悯周,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陪竿,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼禽翼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了族跛?” 一聲冷哼從身側(cè)響起闰挡,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎礁哄,沒想到半個月后长酗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡桐绒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年夺脾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茉继。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡咧叭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烁竭,到底是詐尸還是另有隱情菲茬,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站婉弹,受9級特大地震影響睬魂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镀赌,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一汉买、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧佩脊,春花似錦蛙粘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至歇盼,卻和暖如春舔痕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豹缀。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工伯复, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邢笙。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓啸如,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氮惯。 傳聞我的和親對象是個殘疾皇子叮雳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容