亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

linux中recvfrom怎么設置為非阻塞狀態

小億
336
2023-11-28 14:42:43
欄目: 編程語言

在Linux中,可以通過設置套接字的屬性來將recvfrom函數設置為非阻塞狀態。以下是實現的步驟:
1. 創建套接字:

  int sockfd = socket(AF_INET, SOCK_DGRAM, 0);

2. 設置套接字為非阻塞模式:

  int flags = fcntl(sockfd, F_GETFL, 0);

??fcntl(sockfd,?F_SETFL,?flags?|?O_NONBLOCK);

3. 使用recvfrom函數接收數據,此時recvfrom函數將以非阻塞模式工作:

??char?buffer[1024];

??struct?sockaddr_in?client_addr;

??socklen_t?addr_len?=?sizeof(client_addr);

??ssize_t?num_bytes?=?recvfrom(sockfd,?buffer,?sizeof(buffer),?0,?(struct?sockaddr?*)&client_addr,?

??&addr_len);

在非阻塞模式下,recvfrom函數將立即返回,無論是否有數據可讀。如果沒有數據可讀,recvfrom函數將返回-1,并且errno將被設置為EAGAIN或EWOULDBLOCK。

0
张家川| 陆河县| 那坡县| 芜湖县| 湖州市| 漳州市| 海城市| 太白县| 梁平县| 建平县| 年辖:市辖区| 岳普湖县| 邵东县| 大竹县| 曲周县| 青川县| 维西| 鄂伦春自治旗| 巫山县| 弥渡县| 江达县| 西贡区| 华阴市| 班戈县| 桃江县| 商城县| 南昌县| 游戏| 本溪| 那坡县| 壶关县| 霍城县| 冷水江市| 武清区| 河源市| 新昌县| 安康市| 宁德市| 祥云县| 育儿| 普宁市|