Visual FoxPro
Visual FoxPro
Wait for a Socket to Become Writable
See more Socket/SSL/TLS Examples
Demonstrates Socket.SelectForWriting, which waits for the socket, or sockets in a socket set, to become writable. It returns 1 if writable, 0 on timeout, or -1 on error.
Background. A timeoutMs of 0 performs a nonblocking poll. This is useful before attempting to send when the peer may be applying flow control.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loSocket
LOCAL lnBTls
LOCAL lnMaxWaitMs
LOCAL lnReady
lnSuccess = 0
loSocket = CreateObject('Chilkat.Socket')
* Connect to the server using TLS.
lnBTls = 1
lnMaxWaitMs = 5000
lnSuccess = loSocket.Connect("example.com",5000,lnBTls,lnMaxWaitMs)
IF (lnSuccess = 0) THEN
? loSocket.LastErrorText
RELEASE loSocket
CANCEL
ENDIF
* Wait up to 5 seconds for the socket (or sockets in a socket set) to become writable. Returns 1 if
* writable, 0 on timeout, or -1 on error.
lnReady = loSocket.SelectForWriting(5000)
IF (lnReady < 0) THEN
? loSocket.LastErrorText
RELEASE loSocket
CANCEL
ENDIF
IF (lnReady <> 1) THEN
? "The socket did not become writable before the timeout."
RELEASE loSocket
CANCEL
ENDIF
? "The socket is ready for writing."
RELEASE loSocket