socket v0.3.13 Socket.TCP
This module wraps a passive TCP socket using gen_tcp
.
Options
When creating a socket you can pass a series of options to use for it.
:as
sets the kind of value returned by recv, either:binary
or:list
, the default is:binary
:mode
can be either:passive
or:active
, default is:passive
:local
must be a keyword list:address
the local address to use:port
the local port to use:fd
an already opened file descriptor to use
:backlog
sets the listen backlog:watermark
must be a keyword list:low
defines the:low_watermark
, seeinet:setopts
:high
defines the:high_watermark
, seeinet:setopts
:version
sets the IP version to use:options
must be a list of atoms:keepalive
setsSO_KEEPALIVE
:nodelay
setsTCP_NODELAY
:packet
seeinet:setopts
:size
sets the max length of the packet body, seeinet:setopts
Examples
server = Socket.TCP.listen!(1337, packet: :line)
client = server |> Socket.accept!
client |> Socket.Stream.send!(client |> Socket.Stream.recv!)
client |> Socket.Stream.close
Link to this section Summary
Functions
Accept a new client from a listening socket, optionally passing options
Accept a new client from a listening socket, optionally passing options, raising if an error occurs
Convert TCP options to :inet.setopts
compatible arguments
Create a TCP socket connecting to the given host and port tuple
Create a TCP socket connecting to the given host and port tuple and options, or to the given host and port
Create a TCP socket connecting to the given host and port
Create a TCP socket connecting to the given host and port tuple, raising if an error occurs
Create a TCP socket connecting to the given host and port tuple and options, or to the given host and port, raising if an error occurs
Create a TCP socket connecting to the given host and port, raising in case of error
Return a proper error string for the given code or nil if it can’t be converted
Create a TCP socket listening on an OS chosen port, use local
to know the
port it was bound on
Create a TCP socket listening on an OS chosen port using the given options or listening on the given port
Create a TCP socket listening on the given port and using the given options
Create a TCP socket listening on an OS chosen port, use local
to know the
port it was bound on, raising in case of error
Create a TCP socket listening on an OS chosen port using the given options or listening on the given port, raising in case of error
Create a TCP socket listening on the given port and using the given options, raising in case of error
Set options of the socket
Set options of the socket, raising if an error occurs
Set the process which will receive the messages
Set the process which will receive the messages, raising if an error occurs
Link to this section Types
Link to this section Functions
Accept a new client from a listening socket, optionally passing options.
Accept a new client from a listening socket, optionally passing options, raising if an error occurs.
Convert TCP options to :inet.setopts
compatible arguments.
connect({Socket.Address.t(), :inet.port_number()}) :: {:ok, t()} | {:error, Socket.Error.t()}
connect({Socket.Address.t(), :inet.port_number()}) :: t() | no_return()
Create a TCP socket connecting to the given host and port tuple.
connect( {Socket.Address.t(), :inet.port_number()} | Socket.Address.t(), Keyword.t() | :inet.port_number() ) :: {:ok, t()} | {:error, Socket.Error.t()}
connect( {Socket.Address.t(), :inet.port_number()} | Socket.Address.t(), Keyword.t() | :inet.port_number() ) :: t() | no_return()
Create a TCP socket connecting to the given host and port tuple and options, or to the given host and port.
connect(String.t() | :inet.ip_address(), :inet.port_number(), Keyword.t()) :: {:ok, t()} | {:error, Socket.Error.t()}
Create a TCP socket connecting to the given host and port.
Create a TCP socket connecting to the given host and port tuple, raising if an error occurs.
Create a TCP socket connecting to the given host and port tuple and options, or to the given host and port, raising if an error occurs.
connect!(String.t() | :inet.ip_address(), :inet.port_number(), Keyword.t()) :: t() | no_return()
Create a TCP socket connecting to the given host and port, raising in case of error.
Return a proper error string for the given code or nil if it can’t be converted.
Create a TCP socket listening on an OS chosen port, use local
to know the
port it was bound on.
listen(:inet.port_number() | Keyword.t()) :: {:ok, t()} | {:error, Socket.Error.t()}
Create a TCP socket listening on an OS chosen port using the given options or listening on the given port.
listen(:inet.port_number(), Keyword.t()) :: {:ok, t()} | {:error, Socket.Error.t()}
Create a TCP socket listening on the given port and using the given options.
Create a TCP socket listening on an OS chosen port, use local
to know the
port it was bound on, raising in case of error.
listen!(:inet.port_number() | Keyword.t()) :: t() | no_return()
Create a TCP socket listening on an OS chosen port using the given options or listening on the given port, raising in case of error.
listen!(:inet.port_number(), Keyword.t()) :: t() | no_return()
Create a TCP socket listening on the given port and using the given options, raising in case of error.
options(t() | Socket.SSL.t() | port(), Keyword.t()) :: :ok | {:error, Socket.Error.t()}
Set options of the socket.
options!(t() | Socket.SSL.t() | port(), Keyword.t()) :: :ok | no_return()
Set options of the socket, raising if an error occurs.
Set the process which will receive the messages.
Set the process which will receive the messages, raising if an error occurs.