NWTCPSocket

public class NWTCPSocket: NSObject, RawTCPSocketProtocol

The TCP socket build upon NWTCPConnection.

Warning

This class is not thread-safe.
  • The RawTCPSocketDelegate instance.

    Declaration

    Swift

    weak open var delegate: RawTCPSocketDelegate?
  • If the socket is connected.

    Declaration

    Swift

    public var isConnected: Bool
  • The source address.

    Note

    Always returns nil.

    Declaration

    Swift

    public var sourceIPAddress: IPAddress?
  • The source port.

    Note

    Always returns nil.

    Declaration

    Swift

    public var sourcePort: Port?
  • The destination address.

    Note

    Always returns nil.

    Declaration

    Swift

    public var destinationIPAddress: IPAddress?
  • The destination port.

    Note

    Always returns nil.

    Declaration

    Swift

    public var destinationPort: Port?
  • Connect to remote host.

    Throws

    Never throws.

    Declaration

    Swift

    public func connectTo(host: String, port: Int, enableTLS: Bool, tlsSettings: [AnyHashable: Any]?) throws

    Parameters

    host

    Remote host.

    port

    Remote port.

    enableTLS

    Should TLS be enabled.

    tlsSettings

    The settings of TLS.

  • Disconnect the socket.

    The socket will disconnect elegantly after any queued writing data are successfully sent.

    Declaration

    Swift

    public func disconnect()
  • Disconnect the socket immediately.

    Declaration

    Swift

    public func forceDisconnect()
  • Send data to remote.

    Warning

    This should only be called after the last write is finished, i.e., delegate?.didWriteData() is called.

    Declaration

    Swift

    public func write(data: Data)

    Parameters

    data

    Data to send.

  • Read data from the socket.

    Warning

    This should only be called after the last read is finished, i.e., delegate?.didReadData() is called.

    Declaration

    Swift

    public func readData()
  • Read specific length of data from the socket.

    Warning

    This should only be called after the last read is finished, i.e., delegate?.didReadData() is called.

    Declaration

    Swift

    public func readDataTo(length: Int)

    Parameters

    length

    The length of the data to read.

  • Read data until a specific pattern (including the pattern).

    Warning

    This should only be called after the last read is finished, i.e., delegate?.didReadData() is called.

    Declaration

    Swift

    public func readDataTo(data: Data)

    Parameters

    data

    The pattern.

  • Read data until a specific pattern (including the pattern).

    Warning

    This should only be called after the last read is finished, i.e., delegate?.didReadData() is called.

    Declaration

    Swift

    public func readDataTo(data: Data, maxLength: Int)

    Parameters

    data

    The pattern.

    maxLength

    The max length of data to scan for the pattern.

  • Undocumented

    Declaration

    Swift

    public class NWTCPSocket: NSObject, RawTCPSocketProtocol
  • Undocumented

    Declaration

    Swift

    public class NWTCPSocket: NSObject, RawTCPSocketProtocol