QSocketNotifier :: activated和QIODevice :: readyRead之间的区别

时间:2013-03-13 01:41:34

标签: qt network-programming qt4 qsslsocket qiodevice

我创建了一个新的阅读QSocketNotifierQSocketNotifier::Read)并将其安装在QSslSocket上。 从QSslSocket发出activated信号时发出的QSocketNotifier信号是什么?

安装在activated上的QSocketNotifier发出的QSslSocket信号和QIODevice::readyRead发出的QSslSocket信号之间是否有任何差异?

1 个答案:

答案 0 :(得分:0)

如果QSocketNotifier正在观看QIODevice,则QIODevice::readyRead()QSocketNotifier::activated(QSocketNotifier::Read)之间没有功能差异。因此,如果您只使用QSocketNotifier个对象,则不需要QIODevice

QSocketNotifier的主要用途是监视通过低级API打开的套接字(或任何其他文件描述符)。您可以传递一个与另一个QObject无关的文件描述符(例如通过std :: ifstream打开的文件),当您从文件描述符中读取时,它将触发activated()信号,这是有用的通用文件描述符本身不会触发Qt信号。