Sample code for 30+ languages & platforms
Swift

Example: Socket.DupSocket method

See more Socket/SSL/TLS Examples

Demonstrates how to call the DupSocket method.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let socket = CkoSocket()!
    success = socket.connect(hostname: "example.com", port: 443, ssl: true, maxWaitMs: 5000)

    // ...
    // ...

    // Duplicate the socket to share the same connection across threads.
    // In a multithreaded application, each thread should use its own socket object. For example:

    // - The main thread can use the original socket for reading.
    // - A secondary thread can use a duplicate for writing.
    // - Another thread can use a separate duplicate to monitor the connection status.

    let socket_for_sending = CkoSocket()!
    success = socket.dup(dest: socket_for_sending)
    if success == false {
        print("\(socket.lastErrorText!)")
        return
    }

    let socket_for_monitor = CkoSocket()!
    success = socket.dup(dest: socket_for_monitor)
    if success == false {
        print("\(socket.lastErrorText!)")
        return
    }

    // All three socket objects: socket, socket_for_sending, and socket_for_monitor share the same underlying connection.

}