現在的位置: 首頁 > 綜合 > 正文

AF_UNIX 地址系列 (

2018年04月17日 ⁄ 綜合 ⁄ 共 601字 ⁄ 字型大小 評論關閉

AF_UNIX 地址系列(使用 AF_UNIX 或 AF_UNIX_CCSID 地址系列的套接字)可以是面向連接的(類型 SOCK_STREAM),也可以是無連接的(類型 SOCK_DGRAM)。兩種類型都很可靠,原因是沒有連接兩個進程的外部通信函數。

UNIX 域數據報套接字的運行方式與 UDP 數據報套接字有所不同。藉助 UDP 數據報套接字,客戶機程序就不必調用 bind() 函數,原因是系統會自動指定未使用的埠號。於是伺服器可將數據報發送回該埠號。但是,使用 UNIX 域數據報套接字,系統不會自動指定客戶機的路徑名。因此,使用 UNIX 域數據報的所有客戶機程序必須調用 bind() 函數。在客戶機的 bind() 上指定的精確路徑名就是傳遞至伺服器的路徑名。因此,如果客戶機指定相對路徑名(即,並非以
/ 開頭的全限定路徑名),除非伺服器以同一當前目錄運行,否則它不能向客戶機發送數據報。

應用程序可能對此地址系列使用的示例路徑名就是 /tmp/myserver 或 servers/thatserver。藉助 servers/thatserver,可使用並非全限定(未指定 /)的路徑名。這表示該項在文件系統層次結構中的位置應根據當前工作目錄確定。

注意:
文件系統中的路徑名是啟用了 NLS 的。

下圖舉例說明了 AF_UNIX 地址系列的客戶機/伺服器關係。有關將環境設置為使用 AF_UNIX 地址系列的詳細信息,參見套接字編程的先決條件

抱歉!評論已關閉.