GCDTCPSocket
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol
The TCP socket build upon GCDAsyncSocket
.
Warning
This class is not thread-safe.-
Initailize an instance with
GCDAsyncSocket
.Declaration
Swift
public init(socket: GCDAsyncSocket? = nil)
Parameters
socket
The socket object to work with. If this is
nil
, then a newGCDAsyncSocket
instance is created.
-
The
RawTCPSocketDelegate
instance.Declaration
Swift
weak open var delegate: RawTCPSocketDelegate?
-
If the socket is connected.
Declaration
Swift
open var isConnected: Bool
-
The source address.
Declaration
Swift
open var sourceIPAddress: IPAddress?
-
The source port.
Declaration
Swift
open var sourcePort: Port?
-
The destination address.
Note
Always returnsnil
.Declaration
Swift
open var destinationIPAddress: IPAddress?
-
The destination port.
Note
Always returnsnil
.Declaration
Swift
open var destinationPort: Port?
-
Connect to remote host.
Throws
The error occured when connecting to host.
Declaration
Swift
open func connectTo(host: String, port: Int, enableTLS: Bool = false, tlsSettings: [AnyHashable: Any]? = nil) 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
open func disconnect()
-
Disconnect the socket immediately.
Declaration
Swift
open 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
open 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
open 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
open 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
open 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
open func readDataTo(data: Data, maxLength: Int)
Parameters
data
The pattern.
maxLength
Ignored since
GCDAsyncSocket
does not support this. The max length of data to scan for the pattern.
-
Send data to remote.
Warning
This should only be called after the last write is finished, i.e.,delegate?.didWriteData()
is called.Declaration
Swift
func write(data: Data, withTimeout timeout: Double)
Parameters
data
Data to send.
timeout
Operation timeout.
-
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
func readDataTo(length: Int, withTimeout timeout: Double)
Parameters
length
The length of the data to read.
timeout
Operation timeout.
-
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
func readDataTo(data: Data, withTimeout timeout: Double)
Parameters
data
The pattern.
timeout
Operation timeout.
-
Connect to remote host.
Throws
The error occured when connecting to host.
Declaration
Swift
func connectTo(host: String, withPort port: Int) throws
Parameters
host
Remote host.
port
Remote port.
-
Secures the connection using SSL/TLS.
Declaration
Swift
func startTLSWith(settings: [AnyHashable: Any]!)
Parameters
tlsSettings
TLS settings, refer to documents of
GCDAsyncSocket
for detail.
-
Undocumented
Declaration
Swift
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol
-
Undocumented
Declaration
Swift
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol
-
Undocumented
Declaration
Swift
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol
-
Undocumented
Declaration
Swift
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol
-
Undocumented
Declaration
Swift
open class GCDTCPSocket: NSObject, GCDAsyncSocketDelegate, RawTCPSocketProtocol