http://wenda.workerman.net/?/question/788
@walkor大大, 我看到這個帖子時,對unix domain 的含義及作用,應用場景 不是太了解,
能解釋下嗎?
什么是Unix Domain Socket
基于socket的框架上發(fā)展出一種IPC機制,就是UNIX Domain Socket。雖然網(wǎng)絡socket也可用于同一臺主機的進程間通訊(通過loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC 更有效率 :
不需要經(jīng)過網(wǎng)絡協(xié)議棧
不需要打包拆包、計算校驗和、維護序號和應答等
只是將應用層數(shù)據(jù)從一個進程拷貝到另一個進程。這是因為,IPC機制本質(zhì)上是可靠的通訊,而網(wǎng)絡協(xié)議是為不可靠的通訊設計的。UNIX Domain Socket也提供面向流和面向數(shù)據(jù)包兩種API接口,類似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不會丟失也不會順序錯亂。
應用
UNIX Domain Socket是全雙工的,API接口語義豐富,相比其它IPC機制有明顯的優(yōu)越性,目前已成為使用最廣泛的IPC機制,比如X Window服務器和GUI程序之間就是通過UNIX Domain Socket通訊的。