The IsWritable property returns True if data can be written
without blocking. For non-blocking connections, this property can be
checked before the application attempts to send data to the server,
preventing an error.
If the IsWritable property returns False, this means that
the application cannot write to the socket at that time. However, if
the property returns True, this does not guarantee that you will be
able to send data without an error. The next operation may result in
an stErrorOperationWouldBlock or
stErrorOperationInProgress error. The application must treat
these errors as recoverable, and should be prepared to retry
operations that result in them.