我编写了一个简单的应用程序,它在C中的两台计算机之间提供连接。我在socket中同时读写时遇到问题。我可以检查用户是否按getch()
按任意键,但我不知道如何检查它是否在套接字缓冲区中。当我使用read()
函数时,它会一直等到socket中。我想检查套接字缓冲区,然后使用read()
,但我找不到任何函数/标志来检查这个。也许是针对这个问题的不同解决方案,或许可以使用另一个线程来阅读?
答案 0 :(得分:0)
您可以使用sys/ioctl.h
文件的方法ioctl
:
#include <sys/ioctl.h>
...
int count;
ioctl(fd, FIONREAD, &count);
参考积分:This Answer