我正在尝试使用C编程套接字开发聊天应用程序。我需要检查stdin缓冲区是否有一些值,以便将消息发送到客户端/服务器并接收它。但我不知道如何检查stdin缓冲区的值。 请帮忙。
答案 0 :(得分:1)
您想要select(2,3p)
。
答案 1 :(得分:1)
在POSIX系统中,您可以采取以下措施:
FD_ZERO (&rset);
FD_SET (fileno (stdin), &rset);
maxfd = fileno (stdin);
tv.tv_sec = 3;
tv.tv_usec = 0;
select (maxfd + 1, &rset, NULL, NULL, &tv);
答案 2 :(得分:0)
这可能会有所帮助
select()使您能够同时监视多个套接字。它会告诉你哪些已准备好阅读,哪些已准备好写入,以及哪些套接字引发异常,如果你真的想知道这一点。
Beej's Guide to Network Programming有一个很好的,易于理解的讨论。