Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

socket_recv4(3) [debian man page]

socket_recv4(3) 					     Library Functions Manual						   socket_recv4(3)

NAME
socket_recv4 - receive a UDP datagram SYNTAX
#include <socket.h> ssize_t socket_recv4(int s, char* buf, size_t len, char ip[4],uint16* port); DESCRIPTION
socket_recv4 receives up to len bytes starting at buf from a UDP datagram coming in on the socket s. It writes the UDP port to port and the IP address to ip, and returns the number of bytes actually received (or -1 if anything went wrong). RETURN VALUE
socket_recv4 returns the number of bytes in the datagram if one was received. If not, it returns -1 and sets errno appropriately. EXAMPLE
#include <socket.h> int s; char ip[4]; uint16 p; char buf[1000]; int len; s = socket_tcp4(); socket_bind4(s,ip,p); len = socket_recv4(s,buf,sizeof(buf),ip,&p); SEE ALSO
socket_recv6(3) socket_recv4(3)

Check Out this Related Man Page

SOCKET_RECVFROM(3)							 1							SOCKET_RECVFROM(3)

socket_recvfrom - Receives data from a socket whether or not it is connection-oriented

SYNOPSIS
int socket_recvfrom (resource $socket, string &$buf, int $len, int $flags, string &$name, [int &$port]) DESCRIPTION
The socket_recvfrom(3) function receives $len bytes of data in $buf from $name on port $port (if the socket is not of type AF_UNIX) using $socket. socket_recvfrom(3) can be used to gather data from both connected and unconnected sockets. Additionally, one or more flags can be specified to modify the behaviour of the function. The $name and $port must be passed by reference. If the socket is not connection-oriented, $name will be set to the internet protocol address of the remote host or the path to the UNIX socket. If the socket is connection-oriented, $name is NULL. Additionally, the $port will contain the port of the remote host in the case of an unconnected AF_INET or AF_INET6 socket. PARAMETERS
o $socket - The $socket must be a socket resource previously created by socket_create(). o $buf - The data received will be fetched to the variable specified with $buf. o $len - Up to $len bytes will be fetched from remote host. o $flags - The value of $flags can be any combination of the following flags, joined with the binary OR ( |) operator. Possible values for $flags +-------------+---------------------------------------------------+ | Flag | | | | | | | Description | | | | +-------------+---------------------------------------------------+ | | | | MSG_OOB | | | | | | | Process out-of-band data. | | | | | | | | MSG_PEEK | | | | | | | Receive data from the beginning of the receive | | | queue without removing it from the queue. | | | | | | | |MSG_WAITALL | | | | | | | Block until at least $len are received. However, | | | if a signal is caught or the remote host discon- | | | nects, the function may return less data. | | | | | | | |MSG_DONTWAIT | | | | | | | With this flag set, the function returns even if | | | it would normally have blocked. | | | | +-------------+---------------------------------------------------+ o $name - If the socket is of the type AF_UNIX type, $name is the path to the file. Else, for unconnected sockets, $name is the IP address of, the remote host, or NULL if the socket is connection-oriented. o $port - This argument only applies to AF_INET and AF_INET6 sockets, and specifies the remote port from which the data is received. If the socket is connection-oriented, $port will be NULL. RETURN VALUES
socket_recvfrom(3) returns the number of bytes received, or FALSE if there was an error. The actual error code can be retrieved by calling socket_last_error(3). This error code may be passed to socket_strerror(3) to get a textual explanation of the error. EXAMPLES
Example #1 socket_recvfrom(3) example <?php error_reporting(E_ALL | E_STRICT); $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); socket_bind($socket, '127.0.0.1', 1223); $from = ''; $port = 0; socket_recvfrom($socket, $buf, 12, 0, $from, $port); echo "Received $buf from remote address $from and remote port $port" . PHP_EOL; ?> This example will initiate a UDP socket on port 1223 of 127.0.0.1 and print at most 12 characters received from a remote host. CHANGELOG
+--------+----------------------------------------+ |Version | | | | | | | Description | | | | +--------+----------------------------------------+ | 4.3.0 | | | | | | | socket_recvfrom(3) is now binary safe. | | | | +--------+----------------------------------------+ SEE ALSO
socket_recv(3), socket_send(3), socket_sendto(3), socket_create(3). PHP Documentation Group SOCKET_RECVFROM(3)
Man Page