手機變副屏不是魔法:spacedesk 架構與取捨深度拆解
spacedesk 是什麼
spacedesk官網 是一套把安卓(與 iOS、Windows)設備變成 Windows 主機副螢幕的工具鏈——一端是裝在 Windows 上的驅動(Driver Console),另一端是裝在手機或平板上的查看器(Viewer)。兩端跑在同一個網路裡,連上之後,手機就變成了 Windows 的一塊額外顯示器:可以滑動視窗、鏡像演示、甚至用觸控反控主機。
這種技術並非 spacedesk 獨創,但它的定位很鮮明:免費、跨平台、不走雲端、不須註冊——你裝好就用,所有資料流只在你的區域網路裡走。截至目前,官方還提供 HTML5 網頁版查看器作為 Beta,裝不了軟體的設備開個瀏覽器就能上場。
安裝
spacedesk 的安裝是兩端分開的,先裝 Windows 主機驅動,再裝安卓查看器——兩者缺一不可。
Windows 主機端到官方下載安裝包(Windows Installer 約數十 MB),執行安裝後會在系統裡註冊一個虛擬顯示驅動。安裝完成後從開始選單打開 Driver Console,右上角的大開關預設是 OFF 的,第一次用要手動撥到 ON,主機才進入「可被發現、可被連接」的狀態。控制台會顯示本機 IP、連接埠與診斷資訊,這些是之後排查問題的關鍵。
spacedesk下載 的安卓副屏端安裝包只有 3.08M(版本 2.1.38),屬於輕量 APK。如果從官方渠道取得,直接安裝即可;如果繞過商店從 APK 安裝,記得在系統設定裡放行「未知來源」的安裝權限。第一次啟動後查看器會自動掃描同網路的主機,不需要額外設定。
安裝完成後的常見坑有兩個:一是 Windows 防火牆在安裝時沒正確放行 TCP 28252 連接埠(第三方安全軟體尤甚),導致發現列表永遠空白;二是安卓端和主機不在同一個網路——手機還在用行動流量,或連到了路由器的訪客 WiFi(AP 隔離),這兩種情況下自動發現完全失靈。解決辦法後文會提到。
自動發現:spacedesk 怎麼讓兩端找到彼此
兩台設備在同一個網路裡,副屏打開查看器,幾秒鐘後發現列表裡就出現了主機的條目——這背後是一套簡單但容易出錯的機制。
spacedesk 的發現機制依賴 UDP 廣播:主機驅動在 UDP 28252 連接埠上定期廣播自己的存在(主機名稱、作業系統、支援的顯示模式等),查看器在同一個連接埠上監聽廣播封包,收到後就把主機資訊放進列表。這個設計的好處是「零設定」——兩端不需要預先配置 IP 或密鑰,裝好就能找到對方。
但這個機制也帶來了兩個天生的脆弱點:
第一,廣播封包不會穿越路由器——你的手機在客廳 WiFi、主機在書房走另一個路由器,哪怕都是同一個品牌,廣播也過不去。這為什麼是 spacedesk 用廣播而不是 TCP?因為 TCP 需要一端先知道另一端的 IP,而自動發現的前提就是「我不知道你在哪」,廣播是唯一的零初始化方案。取捨很清楚:簡單、自動、但只能在單一 L2 網路裡工作。
第二,防火牆與安全軟體是廣播的天然敵人。Windows 自帶的防火牆在安裝 spacedesk 時通常會彈出放行提示,點允許就好;但第三方安全軟體(廠商名單會在控制台 DIAGNOSTICS 區塊列出)可能不給提示直接阻擋,導致廣播發不出去也收不到。這也是發現失敗排查命中率第一的原因——官方文檔的排查順序把「主機服務開著嗎」和「防火牆放行了嗎」排在最前。

如果廣播發現失靈,spacedesk 提供了手動 IP 直連作為兜底:在主機控制台記下 IP,查看器點加號手輸。手連繞開了整個廣播層,直接走 TCP,在企業網路(廣播被禁)環境裡往往是唯一可行解。我把它視為 spacedesk 設計裡的「逃生門」——平時你用不到,但需要的時候它就在那裡。
編碼與延遲:為什麼原生端比網頁版快
發現只是第一步,真正的考驗在於:主機畫面怎麼流到手機上、延遲能不能接受、畫質怎麼取捨。
spacedesk 原生查看器(安卓/iOS/Windows)走的是一套自定義的即時串流協定——主機驅動把顯示器輸出壓縮後透過 TCP 28252 推送給查看器,查看器即時解碼渲染。這條路徑的好處是全程在你的區域網路裡完成,不經過任何雲端伺服器,也沒有額外的轉發中繼。所以延遲通常在數十毫秒量級,滑動視窗、觸控反控跟手機本地操作的感覺差距很小。
相比之下,HTML5 網頁版查看器(目前是 Beta v0.9.10)走的是另一條路:瀏覽器透過 WebRTC 或類似機制拉流,解碼靠瀏覽器內建的多媒體引擎。這條路徑的瓶頸在瀏覽器本身——官方明確排除了 Firefox(性能限制),其他瀏覽器也需要較新版本才能正常運作。實測下來,畫面更新率和延遲都明顯落後於原生端,動態內容(影片、遊戲)會出現可感知的卡頓。
這裡的設計取捨很有意思:官方把網頁版定位成「裝不了軟體時的替代方案」,而不是原生端的競爭對手。它的優勢——零安裝、跨平台、瀏覽器跑得動就能用——剛好對應企業電腦(鎖安裝權限)、朋友的 Mac(不想留東西)、Linux(沒有原生查看器)這些場景。但功能上就只能砍:網頁版不支援鍵盤與手寫筆的反向輸入,只有滑鼠與觸控。
一拖多屏與連接管理:spacedesk 如何同時服務多塊副屏
一台主機能不能同時連多塊副屏?答案是可以——官方文檔裡提到「一台主機可以同時被原生端與網頁版連接,互不衝突」。這背後是主機驅動的虛擬顯示器架構:每個連接進來的查看器,驅動都給它創建一塊獨立的虛擬顯示器,Windows 的顯示設定裡就會多出對應的屏幕條目,拖動排列就能調整相對位置。
好處是擴展性強——一台主機接三塊副屏當監控面板、或接平板當閱讀屏,都能做到;但代價是主機端的資源消耗隨副屏數量線性增長:每塊副屏都要獨立編碼壓縮、獨立推流,CPU 和網路頻寬吃緊時最老的連接可能會被主動踢掉。
控制台的 CONNECTIONS 區塊會列出所有當前連接中的設備(含 IP、連接時間、當前顯示模式),這是排查連接丟失和診斷資源瓶頸的入口。而 Network Adapters 區塊則列出主機當前所有可用的網路介面——當你裝了 VMware、Hyper-V 之類帶虛擬網卡的軟體時,虛擬網卡的廣播應答可能「搶走」發現過程,導致查看器遲遲找不到真正的實體網路介面,這時候就需要在控制台裡指定綁定哪個介面。
取捨總結:spacedesk 適合什麼、不適合什麼
把上面的架構和取捨攤開來看,spacedesk 的定位就很清楚了:
它適合:在家裡或辦公室的區域網路環境,把手機/平板變成 Windows 主機的副屏——寫論文時旁邊掛一個參考文獻閱讀屏、做演示時用平板當鏡像屏、當監控面板時讓舊手機常亮掛著。這些場景的共同點是網路穩定、延遲敏感但不極端、連接數量有限。
它不適合:跨網路遠端連接(廣播不過路由器,TCP 直連需要固定 IP 或組 VPN)、需要極低延遲的互動內容(遊戲即時操作)、企業網路廣播被禁且 IT 不允許手輸 IP 的嚴格環境。
而 HTML5 網頁版就是這個畫像的補充——在原生端用不了的地方,網頁版頂上去做一個「能看能用」的最低限度方案,但別指望它和原生端一樣跟手。
寫到這裡,我覺得 spacedesk 最聰明的地方不在技術層面,而在選擇做什麼、不做什麼:它不碰雲端、不做遠端、不收費、不強迫你註冊——把資源集中在「區域網路裡兩個設備怎麼穩定連上、畫面怎麼順」這一個問題上。這種聚焦在同類工具裡反而是少見的,也是它能長期免費維持更新的原因。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。