Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C send()到套接字并选择()函数_C_Sockets_Blocking - Fatal编程技术网

C send()到套接字并选择()函数

C send()到套接字并选择()函数,c,sockets,blocking,C,Sockets,Blocking,我想send(socketfd,…)并且我正在使用select()函数。该文件描述符应该位于writefds或readfds中吗?readfds用于要读取的套接字,而writefds用于要写入的套接字。因此,在您的情况下,writefds。不过,您通常也希望它出现在readfds中,例如,这样您就可以优雅地检测到对等机何时断开连接(read()返回0)好吧,这是我所知道的,但我正在阅读Beej的指南selectserver.c和最后一个for(j)循环,他正在检查j是否准备好读取并将其与send

我想
send(socketfd,…)
并且我正在使用
select()
函数。该文件描述符应该位于
writefds
readfds
中吗?

readfds
用于要读取的套接字,而
writefds
用于要写入的套接字。因此,在您的情况下,
writefds

不过,您通常也希望它出现在readfds中,例如,这样您就可以优雅地检测到对等机何时断开连接(read()返回0)好吧,这是我所知道的,但我正在阅读Beej的指南selectserver.c和最后一个for(j)循环,他正在检查j是否准备好读取并将其与send一起使用。你能帮我吗@nos tooThat示例并不关心写入是否会阻塞。他只对等待客户机将数据推送到服务器,然后进行复制感兴趣。写操作可能会阻塞。