下面是一个 小型封装库,用于在 Linux 下通过 UNIX 域套接字
使用 sendmsg()
/ recvmsg()
实现 文件描述符(FD)传递,可以用于父子进程、线程或服务之间共享打开的文件/套接字。
功能概述
// send_fd() - 通过 socket 发送一个文件描述符
// recv_fd() - 从 socket 接收一个文件描述符
源码:fd_transfer.h
#ifndef FD_TRANSFER_H
#define FD_TRANSFER_H
int send_fd(int socket, int fd_to_send);
int recv_fd(int socket);
#endif // FD_TRANSFER_H
源码:fd_transfer.c
#include <sys/socket.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include "fd_transfer.h"
int send_fd(int socket, int fd_to_send) {
str