Swift
Swift
Wait for a Socket to Become Readable
See more Socket/SSL/TLS Examples
Demonstrates Socket.SelectForReading, which waits for read-ready activity on the socket, or on any contained socket when the object is a socket set. It returns 1 if ready, 0 on timeout, or -1 on error.
Background. A timeoutMs of 0 performs a nonblocking poll. With a socket set, this monitors many connections at once for readability.
Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
let socket = CkoSocket()!
// Connect to the server using TLS.
var bTls: Bool = true
var maxWaitMs: Int = 5000
success = socket.connect(hostname: "example.com", port: 5000, ssl: bTls, maxWaitMs: maxWaitMs)
if success == false {
print("\(socket.lastErrorText!)")
return
}
// Wait up to 5 seconds for read-ready activity on the socket (or, for a socket set, on any contained
// socket). Returns 1 if ready, 0 on timeout, or -1 on error.
var ready: Int = socket.select(forReading: 5000).intValue
if ready < 0 {
print("\(socket.lastErrorText!)")
return
}
if ready != 1 {
print("No data became available before the timeout.")
return
}
print("The socket has data ready to read.")
}