日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

getsockopt套接口选项

發布時間:2024/3/12 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 getsockopt套接口选项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. getsockopt

int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

sockfd:一個標識套接口的描述字
level:選項定義的層次。例如,支持的層次有SOL_SOCKET、IPPROTO_TCP
optname:需獲取的套接口選項
optval:指針,指向存放所獲得選項值的緩沖區
optlen:指針,指向optval緩沖區的長度值

2. struct sock
Linux內部為每個socket所維護的一個struct sock這樣一個對象

struct sock {/* 其他字段 */int sk_rcvbuf; /* 接受緩沖區大小 */atomic_t sk_rmem_alloc; /* 已經申請的read memory */atomic_t sk_wmem_alloc; /* 已經申請的write memory */int sk_sndbuf; /* 發送緩沖區大小 *//* 其他字段 */ };

3. 實例

int snd_buf_size = 0; socklen_t opt_size = sizeof(snd_buf_size); getsockopt(sock_fd, SOL_SOCKET, SO_SNDBUF, &snd_buf_size, &opt_size); printf("socket %d's sndbuf is %d bytes\n", sock_fd, snd_buf_size);

總結

以上是生活随笔為你收集整理的getsockopt套接口选项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。