class inet::TcpSocket

sys::Obj
  inet::TcpSocket

Source

TcpSocket manages a TCP/IP endpoint.

bind

This bind(IpAddr? addr, Int? port)

Source

Bind this socket to the specified local address. If addr is null then the default IpAddr for the local host is selected. If port is null an ephemeral port is selected. Throw IOErr if the port is already bound or the bind fails. Return this.

close

Bool close()

Source

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()

Source

Get the socket configuration for this socket.

connect

This connect(IpAddr addr, Int port, Duration? timeout := this.config().connectTimeout)

Source

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()

Source

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()

Source

Is this socket bound to a local address and port.

isClosed

Bool isClosed()

Source

Is this socket closed.

isConnected

Bool isConnected()

Source

Is this socket connected to the remote host.

localAddr

IpAddr? localAddr()

Source

Get the bound local address or null if unbound.

localPort

Int? localPort()

Source

Get the bound local port or null if unbound.

make

new make(SocketConfig config := SocketConfig.cur())

Source

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()

Source

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()

Source

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()

Source

Get the remote address or null if not connected.

remotePort

Int? remotePort()

Source

Get the remote port or null if not connected.

shutdownIn

Void shutdownIn()

Source

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()

Source

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.

upgradeTls

TcpSocket upgradeTls(IpAddr? addr := null, Int? port := null)

Source

Get a new TCP socket that is upgraded to use TLS. If connecting through a web proxy, specify the destination address and port.