请教QSocketNotifier的问题。。
我用QFile打开一个文件,然后用QSocketNotifier监听它的描述符是否可读,如果activatied则进入槽函数打印一句话。但实际运行时,终端不停的重复打印(不停的进入槽函数),我很奇怪,没有往文件写任何东西啊?如果我去读文件,什么都读不到。。。代码如下:Server::Server(QString fileName, QObject *parent) :QObject(parent){ file = new QFile(fileName, this); if(file->open(QIODevice::ReadWrite)){ if(file->handle() >= 0){ notifier = new QSocketNotifier(file->handle(), QSocketNotifier::Write, this); connect(notifier, SIGNAL(activated(int)), this, SLOT(onActivated(int))); } }else qDebug() << "open file failed!";}voidServer::onActivated(int){ char buf[32]; int n = file->read(buf, 31); qDebug() << "n = " << n;}如上所述,总是不停的进onActivated,读的n总是0。。。。盼望解答疑惑,谢谢!
...全文
相关推荐
qt 监测u盘设备热插拔
**处理异常**:确保在程序中添加适当的错误处理,因为文件系统监控可能会遇到各种问题,比如权限不足、设备繁忙等。
qt.rar_QT windows_QT 通信_windows Qt
例如,共享内存通常比管道和套接字更快,但需要额外处理并发访问和数据一致性问题。而套接字提供了一定的隔离性,但相比其他方法可能稍慢。
基于Qt实现系统中设备管理功能(热插拔监测).zip
**错误处理与日志记录**:为了保证程序的健壮性,应充分考虑错误情况,并记录详细的日志,方便调试和问题定位。
Qt在Linux下操作Camera的方法
同时,还需要考虑线程安全问题,因为相机数据的读取通常在一个单独的线程中进行。5. **性能优化** 在嵌入式设备如ARM2440上,内存和CPU资源有限。
cop.rar_copserv cel f_qt 进程间通信_qt进程间通信
**进程间通信的应用场景**:讨论为什么需要进程间通信,以及在实际项目中可能遇到的问题和解决方案。6.


其他技术讨论专区
