send() or flush() doesn't necessarily really flush writeBuffer to the underlying transport, so data may get lost.