如何检查插座中是否有可用的东西?

时间:2015-05-01 09:26:16

标签: c sockets connect eof read-write

我编写了一个简单的应用程序,它在C中的两台计算机之间提供连接。我在socket中同时读写时遇到问题。我可以检查用户是否按getch()按任意键,但我不知道如何检查它是否在套接字缓冲区中。当我使用read()函数时,它会一直等到socket中。我想检查套接字缓冲区,然后使用read(),但我找不到任何函数/标志来检查这个。也许是针对这个问题的不同解决方案,或许可以使用另一个线程来阅读?

1 个答案:

答案 0 :(得分:0)

您可以使用sys/ioctl.h文件的方法ioctl

#include <sys/ioctl.h>

...

int count;
ioctl(fd, FIONREAD, &count);

参考积分:This Answer