2013-03-13 3 views
0

Я создаю новый Читать QSocketNotifier (QSocketNotifier::Read), и я устанавливаю его на QSslSocket. Что такое сигнал QSslSocket, который испускается, когда сигнал activated испускается от QSocketNotifier?Разница между QSocketNotifier :: активирована и QIODevice :: readyRead

Есть ли разница между activated сигнала, излучаемого QSocketNotifier, который установлен на QSslSocket и QIODevice::readyRead сигнала, излучаемого QSslSocket?

ответ

0

Если QSocketNotifier наблюдает за QIODevice, то нет функциональной разницы между QIODevice::readyRead() и QSocketNotifier::activated(QSocketNotifier::Read). По этой причине вам не нужен QSocketNotifier, если вы используете только объекты QIODevice.

Главное использование QSocketNotifier - это отслеживать сокет (или любой другой файловый дескриптор), который вы открыли с помощью низкоуровневого API. Вы можете передать ему файловый дескриптор, который не связан с другим QObject (например, файл, открытый через std :: ifstream), и он загорится сигналом activated(), когда вы сможете прочитать его из дескриптора файла, что полезно, поскольку общий дескриптор файла не будет подавать сигналы Qt сам по себе.