小编Qxt*_*rml的帖子

C套接字阻塞调用

我想知道socket在阻塞和非阻塞操作上的行为.当套接字阻塞模式改变时,套接字上阻塞的线程会发生什么?这是场景; thread1(T1)创建一个UDP套接字和

fd = socket(AF_INET , SOCK_DGRAM, 0);
Run Code Online (Sandbox Code Playgroud)

T1等待(休眠)接收

recv(fd, buf , sizeof(buf) , 0);
Run Code Online (Sandbox Code Playgroud)

和thread2(T2)在套接字接收任何数据之前将套接字模式更改为非阻塞

fcntl(fd, F_SETFL, O_NONBLOCK);
Run Code Online (Sandbox Code Playgroud)

T1怎么了?是否发出信号,因为套接字不再阻塞?

c sockets multithreading nonblocking

8
推荐指数
1
解决办法
1304
查看次数

下一个结构项,不完整类型

struct node{  
    struct node next;  
    int id;  
}
Run Code Online (Sandbox Code Playgroud)

给出"下一个字段有不完整的类型错误".

这个结构有什么问题?

c struct field linked-list

5
推荐指数
2
解决办法
6564
查看次数

标签 统计

c ×2

field ×1

linked-list ×1

multithreading ×1

nonblocking ×1

sockets ×1

struct ×1