getsockopt函數是用來獲取套接字選項的值。該函數的用法如下:
#include <sys/types.h>
#include <sys/socket.h>
int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
參數說明:
返回值說明:
使用示例:
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main() {
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror("socket");
return -1;
}
int val;
socklen_t len = sizeof(val);
if (getsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &val, &len) < 0) {
perror("getsockopt");
return -1;
}
printf("SO_REUSEADDR value: %d\n", val);
return 0;
}
上述代碼中,通過getsockopt函數獲取了SO_REUSEADDR選項的值,并打印出來。