NAME
Net::NBsocket -- Non-Blocking Sockets
SYNOPSIS
use Net::NBsocket qw(
open_udpNB
open_listenNB
connect_NB
accept_NB
set_NB
set_so_linger
);
$sock = open_udpNB();
$listener = open_listenNB($port_path,$netaddr);
$rv = set_sockNB(*SOCK);
$rv = set_so_linger(*HANDLE,$seconds);
$client = connect_NB($port_path,$netaddr);
($sock,$netaddr) = accept_NB(*SERVER);
DESCRIPTION
Net::NBsocket provides a wrapper for Socket to supply Non-Blocking sockets of various flavors;
$sock = open_udpNB();
Open and return a non-blocking UDP socket object
input: none returns: pointer to socket object or undef on failure
$listener = open_listenNB($port_path);
Open and return a non-blocking TCP listener bound to $port_path and an optional IPv4 bind address as returned by inet_aton (defaults to INADDR_ANY).
Opens a unix-domain socket if port_path is a path instead of a number.
The user must set the appropriate UMASK prior to calling this routine.
input: port or unix domain socket path, [optional] bind address returns: pointer to listening socket object or undef on failure
$rv = set_sockNB(*SOCK);
Set a socket to Non-Blocking mode
input: SOCK object pointer returns: true on success or undef on failure
$rv = set_so_linger(*HANDLE,$seconds);
Set SO_LINGER on top level socket input: *HANDLE, seconds returns: true = success, false = fail
$client = connect_NB($port_path,$netaddr);
Begin a non-blocking TCP connection to the host designated by $netaddr on $port_path, or to the unix domain socket designated by the path in $port_path. $netaddr is unused for unix domain sockets.
input: port number or unix domain socket path, netaddr as returned by inet_aton returns: socket object or undef on failure
($sock,$netaddr) = accept_NB(*SERVER);
Accept a connection from a remote client, return a non-blocking socket and the network address of the remote host as returned by inet_aton or the unix domain socket path if PF_INET or PF_UNIX respectively.
input: listening socket object returns: client socket object, client packed netaddr or unix domain socket path or an emtpy array on failure
DEPENDENCIES
POSIX
Socket
EXPORT_OK
open_udpNB
open_listenNB
connect_NB
accept_NB
set_NB
set_so_linger
AUTHOR
Michael Robinton, michael@bizsystems.com
COPYRIGHT
Copyright 2004, Michael Robinton & BizSystems This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 143:
Expected '=item *'