Im编写一个程序,允许在Linux中的两个进程之间聊天。要传输消息,我使用IPC队列。
主循环有问题:我需要检查队列中是否有新消息,以及是否有-打印它。然后我需要检查是否有任何输入,以及是否有-scanf(这就是问题所在)。
有什么想法吗?

最佳答案

使用非阻塞操作。如果在用read()标志打开的文件描述符上执行O_NONBLOCK,并且此时没有可用的数据,read()将立即用errno = -EWOULDBLOCK返回。
另一种选择是使用select()轮询多个描述符。

08-06 00:45