type
constructors
make |
Make a new unbound, unconnected TCP socket. |
---|
methods
bind |
Bind this socket to the specified local address. |
---|---|
close |
Close this socket and its associated IO streams. |
config |
Get the |
connect |
Connect this socket to the specified address and port. |
in |
Get the input stream used to read data from the socket. |
isBound |
Is this socket bound to a local address and port. |
isClosed |
Is this socket closed. |
isConnected |
Is this socket connected to the remote host. |
localAddr |
Get the bound local address or null if unbound. |
localPort |
Get the bound local port or null if unbound. |
options |
Access the SocketOptions used to tune this socket. |
out |
Get the output stream used to write data to the socket. |
remoteAddr |
Get the remote address or null if not connected. |
remotePort |
Get the remote port or null if not connected. |
shutdownIn |
Place input stream for socket at "end of stream". |
shutdownOut |
Disables the output stream for this socket. |
upgradeTls |
Get a new TCP socket that is upgraded to use TLS. |
Slot Details
bind
close
Bool close()
Close this socket and its associated IO streams. This method is guaranteed to never throw an IOErr. Return true if the socket was closed successfully or false if the socket was closed abnormally.
config
SocketConfig config()
Get the socket configuration
for this socket.
connect
This connect(IpAddr addr, Int port, Duration? timeout := this.config().connectTimeout)
Connect this socket to the specified address and port. This method will block until the connection is made. Throw IOErr if there is a connection error. If a non-null timeout is specified, then block no longer then the specified timeout before raising an IOErr. If timeout is null, then a system default is used. The default timeout is configured via SocketConfig.connectTimeout
.
in
InStream in()
Get the input stream used to read data from the socket. The input stream is automatically buffered according to SocketOptions.inBufferSize. If not connected then throw IOErr.
isBound
Bool isBound()
Is this socket bound to a local address and port.
isClosed
Bool isClosed()
Is this socket closed.
isConnected
Bool isConnected()
Is this socket connected to the remote host.
localAddr
IpAddr? localAddr()
Get the bound local address or null if unbound.
localPort
Int? localPort()
Get the bound local port or null if unbound.
make
new make(SocketConfig config := SocketConfig.cur())
Make a new unbound, unconnected TCP socket. The socket will be configured using the given socket configuration
. The following configuration applies to a TCP socket:
options
@Deprecated { msg="Use SocketConfig" }
SocketOptions options()
Access the SocketOptions used to tune this socket. The following options apply to TcpSockets:
- inBufferSize
- outBufferSize
- keepAlive
- receiveBufferSize
- sendBufferSize
- reuseAddr
- linger
- receiveTimeout
- noDelay
- trafficClass Accessing other option fields will throw UnsupportedErr.
out
OutStream out()
Get the output stream used to write data to the socket. The output stream is automatically buffered according to SocketOptions.outBufferSize If not connected then throw IOErr.
remoteAddr
IpAddr? remoteAddr()
Get the remote address or null if not connected.
remotePort
Int? remotePort()
Get the remote port or null if not connected.
shutdownIn
Void shutdownIn()
Place input stream for socket at "end of stream". Any data sent to input side of socket is acknowledged and then silently discarded. Raise IOErr if error occurs.
shutdownOut
Void shutdownOut()
Disables the output stream for this socket. Any previously written data will be sent followed by TCP's normal connection termination sequence. Raise IOErr if error occurs.