在Linux系統中,Sock(套接字)是一種用于進程間通信(IPC, Inter-Process Communication)和網絡通信的技術
套接字可以分為兩類:基于文件的套接字(如Unix域套接字)和基于網絡的套接字(如TCP/IP套接字)。
Unix域套接字:這種套接字用于同一臺主機上的進程間通信。它們不需要網絡協議棧的支持,因此性能更高。Unix域套接字在文件系統中表示為一個特殊類型的文件。
TCP/IP套接字:這種套接字用于網絡通信,支持點對點的數據傳輸。它們基于TCP(傳輸控制協議)或UDP(用戶數據報協議)等協議。
在Linux系統中,套接字通常使用socket()
函數創建,然后使用bind()
、listen()
、accept()
、connect()
等函數進行操作。應用程序可以通過套接字發送和接收數據,實現進程間通信或與其他計算機上的進程通信。