QSocketNotifier在Qt中怎么使用?
QSocketNotifier使Qt的事件循环与其他基于文件描述符的事件循环集成成为可能。在Qt的主事件循环(QCoreApplication::exec())中检测到文件描述符操作。
使用低级(通常是特定于平台的)API打开设备后,可以创建一个套接字通知程序来监视文件描述符。套接字通知程序在默认情况下是启用的,即每当发生与其类型对应的套接字事件时,它都会发出activated()信号。当发生与套接字通知程序类型对应的事件时,将activated()信号连接到要调用的插槽。
有三种类型的套接字通知程序:读取、写入和异常。类型由类型枚举描述,并且必须在构造套接字通知程序时指定。构造完成后,可以使用type()函数来确定。请注意,如果需要监视同一文件描述符的读取和写入,则必须创建两个套接字通知程序。
QSocketNotifier的创建:
int socket = ::socket(PF_NETLINK, SOCK_RAW, NETLINK_KOBJECT_UEVENT);
struct sockaddr sock1;