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 定義的所有方法。
建立一個 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";
Graham Barr。目前由 Perl Porters 維護。請將所有錯誤報告至 https://github.com/Perl/perl5/issues。
Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>。保留所有權利。此程式為免費軟體;您可以在與 Perl 相同的條款下重新散布或修改它。