Если не ошибаюсь,
QIODevice::close(), QAbstractSocket не изменяет его.
Ошибся насчет QAbstractSocket::close - переопределяется относительно QIODevice.
Предположим, на клиентской стороне мне нужно завершить работу клиента и отключиться от сервера, с последующем удалением объекта QAbstractSocket, что мне следует вызвать перед удалением QAbstractSocket: close() или disconnectFromHost()?
Или например, в случае если я хочу временно разорвать соединение с сервером, не удаляя объект класса QAbstractSocket, что следует вызвать?
1. QAbstractSocket::disconnectFromHost() - еще не отправленные данные (находящиеся в системном буфере) будут отправляться, когда сервер примет все данные будет сигнал QAbstractSocket::disconnected().
2. Если нужно удалять объект QAbstractSocket - вызывать deleteLater() из обработчика QAbstractSocket::disconnected() (непосредственно в самом обработчике удалять нельзя - необходимо выполнять код, следующий за точкой выброса QAbstractSocket::disconnected()). Для отслеживания времени жизни сокета использовать QWeakPointer.
Если тупо использовать QAbstractSocket::close(), то еще не отправленные данные (находящиеся в системном буфере) будут потеряны.