域socket(domain socket)和ipsocket(TCP/IP socket)区别
生活随笔
收集整理的這篇文章主要介紹了
域socket(domain socket)和ipsocket(TCP/IP socket)区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
引言
前篇文章談到 mysql 中 localhost 和 127.0.0.1 連接的區別,其實質分別對應的就是 Unix domain socket 和 TCP/IP socket。 下面再來看看這兩者之間的區別。
UNIX Domain Socket 與 TCP/IP Socket 對比
socket API原本是為網絡通訊設計的,但后來在socket的框架上發展出一種IPC機制,就是UNIX Domain Socket。
雖然網絡socket也可用于同一臺主機的進程間通訊(通過loopback地址127.0.0.1),
但是UNIX Domain Socket用于IPC更有效率:不需要經過網絡協議棧,不需要打包拆包、計算校驗和、維護序號和應答等,只是將應用層數據從一個進程拷貝到另一個進程。
UNIX域套接字與TCP套接字相比較,在同一臺主機的傳輸速度前者是后者的兩倍。
這是因為,IPC機制本質上是可靠的通訊,而網絡協議是為不可靠的通訊設計的。
UNIX Domain Socket也提供面向流和面向數據包兩種API接口,類似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不會丟失也不會順序錯亂。
參考文章:Unix domain socket 和 TCP/IP socket 的區別
總結
以上是生活随笔為你收集整理的域socket(domain socket)和ipsocket(TCP/IP socket)区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是标准输入,标准输出(stdin,s
- 下一篇: servlet和CGI的区别和联系