当文件描述符准备好使用回调读取时通知?

时间:2014-01-23 21:52:53

标签: c++ posix

有一种简单的方法可以执行以下操作:

...
for each connection {
  create(ip)
}
...


int create(ip) {
  fd = connectToSocket(ip)
  addReadNotify(fd, readReady);
}

int readReady() {
  read(fd, ...)
  print read data
}

我正在寻找具有addReadNotify能力的东西,它具有文件描述符和回调函数,并且只要该fd处于就绪状态,就会调用回调函数。

我希望有一个库可以做到这一点,所以我不需要自己处理线程。

1 个答案:

答案 0 :(得分:0)

你必须有一些代码来做回调。某种事件循环,可能在一个单独的线程中。然后,您可以使用select来查看文件描述符。所以我要做的就是设置一个线程来观察,并用数据结构注册。