Don*_*van 11 c sockets
我需要使用readC中的函数从AF_UNIX套接字读取缓冲区,但我不知道缓冲区大小.
read
我认为最好的方法是读取N字节,直到读取返回0(套接字中不再有写入者).它是否正确?有没有办法猜测写入套接字的缓冲区的大小?
N
0
我以为socket是一个特殊的文件.以二进制模式打开文件并获取大小将有助于我知道给缓冲区的正确大小?
我是C的新手,所以请记住这一点.
epa*_*tel 18
常见的方法是使用ioctl(..)查询FIONREAD套接字,它将返回有多少数据可用.
ioctl(..)
FIONREAD
int len = 0; ioctl(sock, FIONREAD, &len); if (len > 0) { len = read(sock, buffer, len); }
归档时间:
15 年,11 月 前
查看次数:
37825 次
最近记录: