From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/kernel/doc/src/gen_udp.xml | 179 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 lib/kernel/doc/src/gen_udp.xml (limited to 'lib/kernel/doc/src/gen_udp.xml') diff --git a/lib/kernel/doc/src/gen_udp.xml b/lib/kernel/doc/src/gen_udp.xml new file mode 100644 index 0000000000..71f2e9bd83 --- /dev/null +++ b/lib/kernel/doc/src/gen_udp.xml @@ -0,0 +1,179 @@ + + + + +
+ + 19972009 + Ericsson AB. All Rights Reserved. + + + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + + + gen_udp + tony@erix.ericsson.se + + 1997-12-03 + A +
+ gen_udp + Interface to UDP sockets + +

The gen_udp module provides functions for communicating + with sockets using the UDP protocol.

+
+ +
+ DATA TYPES + +ip_address() + see inet(3) + +posix() + see inet(3) + +socket() + as returned by open/1,2 +
+ + + open(Port) -> {ok, Socket} | {error, Reason} + open(Port, Options) -> {ok, Socket} | {error, Reason} + Associate a UDP port number with the process calling it + + Port = 0..65535 + Options = [Opt] +  Opt -- see below + Socket = socket() + Reason = posix() + + +

Associates a UDP port number (Port) with the calling + process.

+

The available options are:

+ + list + +

Received Packet is delivered as a list.

+
+ binary + +

Received Packet is delivered as a binary.

+
+ {ip, ip_address()} + +

If the host has several network interfaces, this option + specifies which one to use.

+
+ {fd, int()} + +

If a socket has somehow been opened without using + gen_udp, use this option to pass the file + descriptor for it.

+
+ inet6 + +

Set up the socket for IPv6.

+
+ inet + +

Set up the socket for IPv4.

+
+ Opt + +

See + inet:setopts/2.

+
+
+

The returned socket Socket is used to send packets + from this port with send/4. When UDP packets arrive at + the opened port, they are delivered as messages:

+ +{udp, Socket, IP, InPortNo, Packet} +

Note that arriving UDP packets that are longer than + the receive buffer option specifies, might be truncated + without warning.

+

IP and InPortNo define the address from which + Packet came. Packet is a list of bytes if + the option list was specified. Packet is a + binary if the option binary was specified.

+

Default value for the receive buffer option is + {recbuf, 8192}.

+

If Port == 0, the underlying OS assigns a free UDP + port, use inet:port/1 to retrieve it.

+
+
+ + send(Socket, Address, Port, Packet) -> ok | {error, Reason} + Send a packet + + Socket = socket() + Address = string() | atom() | ip_address() + Port = 0..65535 + Packet = [char()] | binary() + Reason = not_owner | posix() + + +

Sends a packet to the specified address and port. + The Address argument can be either a hostname, or an + IP address.

+
+
+ + recv(Socket, Length) -> {ok, {Address, Port, Packet}} | {error, Reason} + recv(Socket, Length, Timeout) -> {ok, {Address, Port, Packet}} | {error, Reason} + Receive a packet from a passive socket + + Socket = socket() + Length = int() + Address = ip_address() + Port = 0..65535 + Packet = [char()] | binary() + Timeout = int() | infinity + Reason = not_owner | posix() + + +

This function receives a packet from a socket in passive + mode.

+

The optional Timeout parameter specifies a timeout in + milliseconds. The default value is infinity.

+
+
+ + controlling_process(Socket, Pid) -> ok + Change controlling process of a socket + + Socket = socket() + Pid = pid() + + +

Assigns a new controlling process Pid to + Socket. The controlling process is the process which + receives messages from the socket.

+
+
+ + close(Socket) -> ok | {error, Reason} + Close a UDP socket + + Socket = socket() + Reason = not_owner | posix() + + +

Closes a UDP socket.

+
+
+
+
+ -- cgit v1.2.3