內容

名稱

IO::Socket::UNIX - AF_UNIX 領域套接字的物件介面

語法

use IO::Socket::UNIX;

my $SOCK_PATH = "$ENV{HOME}/unix-domain-socket-test.sock";

# Server:
my $server = IO::Socket::UNIX->new(
    Type => SOCK_STREAM(),
    Local => $SOCK_PATH,
    Listen => 1,
);

my $count = 1;
while (my $conn = $server->accept()) {
    $conn->print("Hello " . ($count++) . "\n");
}

# Client:
my $client = IO::Socket::UNIX->new(
    Type => SOCK_STREAM(),
    Peer => $SOCK_PATH,
);

# Now read and write from $client

描述

IO::Socket::UNIX 提供物件介面,用於建立和使用 AF_UNIX 領域中的套接字。它是建立在 IO::Socket 介面上,並繼承 IO::Socket 定義的所有方法。

建構函數

new ( [ARGS] )

建立一個 IO::Socket::UNIX 物件,它是對新建立符號的參考(請參閱 Symbol 套件)。new 可選擇接受參數,這些參數為鍵值對。

除了 IO::Socket 接受的鍵值對外,IO::Socket::UNIX 提供。

Type    	Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
Local   	Path to local fifo
Peer    	Path to peer fifo
Listen  	Queue size for listen

如果建構函數只傳遞一個參數,則假設它是 Peer 規格。

如果給定 Listen 參數,但為 false,則佇列大小將設定為 5。

如果建構函數失敗,它將傳回 undef,並將 $IO::Socket::errstr 套件變數設定為包含錯誤訊息。

$sock = IO::Socket::UNIX->new(...)
    or die "Cannot create socket - $IO::Socket::errstr\n";

出於舊有原因,錯誤訊息也會設定到全域 $@ 變數,您可能仍會找到尋找此處的舊程式碼。

$sock = IO::Socket::UNIX->new(...)
    or die "Cannot create socket - $@\n";

方法

hostpath()

傳回本機端 fifo 的路徑名稱

peerpath()

傳回同儕端 fifo 的路徑名稱

另請參閱

SocketIO::Socket

作者

Graham Barr。目前由 Perl Porters 維護。請將所有錯誤報告至 https://github.com/Perl/perl5/issues

版權

Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>。保留所有權利。此程式為免費軟體;您可以在與 Perl 相同的條款下重新散布或修改它。