Android 的 LocalScoket 與 Socket 區別

問題

Android 中有 LocalScoketSocket ,兩者 API 看起來都很像,那麼他們有什麼差別呢?

解答

Socket 最初用於 TCP/IP 網絡通信。在 TCP/IP 協議棧中,由於操作系統隱藏了 TCP/IP 協議,應用程序如果要調用協議,就需要操作系統提供的 Socket 接口。

後來在 Socket 基礎上發展出一種 IPC(進程間通信) 機制 Unix domain socket,用於同一臺主機之間的進程通信。

雖然 Socket 也可以實現同一臺主機的跨進程通信,但是 Unix domain socket 避開的不必要的網絡協議棧,因此效率高。

Android 的 LocalScoket 其實是封裝了 Unix domain scoket。

所以,LocalSocket 用於 IPC,Socket 用於網絡通信。

發佈了60 篇原創文章 · 獲贊 35 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章