我正在编写这个使用 ncurses 作为界面的聊天程序。我想如何同时处理套接字文件描述符和用户交互?我的想法如下。现在的问题是循环只为我按下的每个按钮执行一次。如何构建我的程序,以便套接字和用户交互一旦准备好就立即处理?我试着让我的投票包括标准输入和输出的文件描述符,但这不起作用。
while(ch = getch()) {
poll sockets
loop sockets {
...
}
switch(ch) {
...
}
}
也作为一个更普遍的问题。通常如何编写程序来同时处理用户交互和其他事情?似乎会有一种标准的方法来做到这一点。