`
东边日出西边雨
  • 浏览: 262713 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

unix domain socket传递描述符

    博客分类:
  • c
 
阅读更多

用unix domain socket在进程间传递描述符。

 

传递描述符的机制稍后我会用图表示出来。

 

代码已经存在附件中。

分享到:
评论

相关推荐

    unix domain socket

    2. **文件描述符传递**:当一个进程通过 `recvmsg()` 接收到另一个进程发送过来的文件描述符后,它必须负责关闭这个文件描述符,否则会导致资源泄露。 3. **权限验证**:Unix Domain Socket 通过文件系统的权限...

    linux domain socket编程

    每次成功接受连接后都会返回一个新的Socket文件描述符,用于后续的数据交换。 5. **发送和接收数据**:一旦连接建立,就可以使用`send()`和`recv()`函数来发送和接收数据。 6. **断开连接**:使用`close()`函数...

    unix 域 socket服务端客户端stream方式代码

    Unix域Socket分为两种类型:文件描述符类型(SOCK_STREAM)和数据报类型(SOCK_DGRAM)。文件描述符类型类似于TCP Socket,提供面向连接、可靠的字节流服务;而数据报类型则类似UDP Socket,是无连接的,数据报会被...

    LINUX进程间传递描述符.pdf

    3. 在描述符传递期间,内核会将其标记为"在飞行中",即使发送方尝试关闭,内核也会保持其在接收进程中的打开状态,增加引用计数。 4. 描述符通过`msg_control`字段发送,通常伴随着至少1字节的数据,以区分“无数据...

    LINUX进程间传递描述符[收集].pdf

    总的来说,Linux下的进程间描述符传递利用了Unix域套接字和内核的特殊处理,通过`sendmsg`和`recvmsg`函数实现了描述符的安全转移。这种方法允许进程间共享文件描述符,极大地扩展了进程通信的能力,尤其是在需要...

    Unix环境下的socket编程.doc

    Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式...

    ipc_socket-2

    在Linux IPC中,socket通信主要分为两种类型:基于文件描述符的Unix Domain Socket(UDS)和基于网络协议的Inet Domain Socket。 **一、Unix Domain Socket** Unix Domain Socket,也称为本地域socket或文件域...

    UNIX Socket编程

    2. 文件描述符:UNIX Socket是基于文件系统的,每个套接字都有一个唯一的文件描述符,用于读写操作。 3. 地址:UNIX Socket的地址是路径名,位于文件系统中。连接时,客户端查找这个路径来找到服务器端的套接字。 ...

    cocos2d-x socket网络连接

    2. **创建Socket**: 使用`socket()`函数创建一个Socket描述符,指定协议类型(如TCP或UDP)和地址族(如AF_INET用于IPv4)。 3. **绑定地址**: 使用`bind()`函数将Socket与特定的IP地址和端口号关联,以便其他设备...

    unix_socket_socket编程_Unix域套接字_udpclient_tunedaa_网络编程_源码.zip

    1. 创建套接字:使用socket()函数创建一个套接字描述符,指定域(AF_UNIX)和类型(SOCK_STREAM或SOCK_DGRAM)。 2. 绑定地址:使用bind()函数将套接字与一个路径名关联,形成服务器端的监听点。 3. 对于流式套接字...

    经由UNIX域套接字传送文件描述符所涉及的相关知识(自己整理)

    为了支持这一特性,消息中会包含一个额外的`msghdr`结构体,其中包含了`msg_control`字段,用于传递文件描述符。 - **示例代码**:下面是一个简单的例子,展示了如何使用`sendmsg()`和`recvmsg()`来传输文件描述符:...

    Unix Domain Sokcet

    - **资源管理**:Unix域套接字可以实现文件描述符的传递,这在网络套接字中是不可行的。 Unix域套接字的使用场景包括: - 进程间通信:如守护进程与用户界面的通信。 - 服务替换:在开发和测试环境中,可以用Unix域...

    UnixSocket编程[收集].pdf

    其中,`sockfd`是`socket()`函数返回的Socket描述符,`my_addr`是一个指向包含本地地址信息的`sockaddr`结构的指针,`addrlen`则是结构的大小。 `sockaddr`是一个通用的地址结构,通常我们会使用更具体的结构,如`...

    socket库函数

    sockfd是Socket描述符,buf是接收数据缓冲区指针,len是最大接收数据长度,flags表示额外选项。 - **`close(sockfd)`**:关闭Socket。sockfd是Socket描述符。 #### 七、非阻塞选项 在某些情况下,可能需要Socket在...

    网络socket编程指南.pdf

    - **Socket创建**: 通过系统调用`socket()`来创建一个Socket,并返回一个Socket描述符。之后可以通过该描述符进行`send()`和`recv()`操作来发送和接收数据。 - **Socket调用**: 虽然可以使用`read()`和`write()`函数...

    unix Socket编程

    其中 `sockfd` 是Socket描述符,`sa` 指向包含端口号和地址信息的结构体指针,`addrlen` 是该结构体的大小。 需要注意的是,在Linux系统中,端口号小于1024的通常只有root权限的程序才能绑定。 ##### 连接网络...

    socket编程入门(经典版

    其中,`sockfd`是socket文件描述符,`level`指定了选项所属的协议级别,`optname`指定了要设置的选项名称,`optval`是该选项的值,`optlen`是值的长度。 ##### 2.6 使用select `select`函数允许程序同时监视多个...

    c语言Socket编程(专业排版0积分)

    Socket编程的核心是创建、配置和使用Socket描述符。 1. **Socket的创建** 创建Socket的过程始于`socket()`函数调用。这个函数的参数包括协议族(domain)、Socket类型(type)和协议(protocol)。通常,对于TCP/...

    Linux下Socket编程

    程序员可以通过socket()函数创建Socket,并获取一个整型的Socket描述符,后续的所有操作都将通过该描述符进行。Socket类型主要有两种,分别是流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式Socket...

Global site tag (gtag.js) - Google Analytics