gpt4 book ai didi

c++ - 我可以通过 c 或 c++ 中的另一个 UDS 连接传递 UDS 文件描述符吗

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:15 31 4
gpt4 key购买 nike

我试图通过另一个 Unix Domain Socket 连接将已建立的连接 Unix Domain Socket 文件描述符从进程 A 传递到进程 B,但没有成功虽然 TCP 套接字传递没有问题。这是有原因的还是我做错了什么?两者都通过辅助消息传递谢谢

最佳答案

套接字文件描述符(就像常规文件描述符一样)在正确创建它们的进程之外绝对没有任何意义。当您向其他进程发送 fd 时,您只是在发送一堆字节 - 仅此而已。

working fd 从一个进程移动到另一个进程的唯一方法是 fork() 包含 的进程fd 被传递。

如果您希望某个进程连接到特定的 Unix 套接字,您应该将 unix 套接字文件系统条目名称传递给该进程。接收进程可以正确地创建套接字并在之后建立连接。

我不知道为什么您在传递 tcp 套接字 fd 时没有遇到问题。也许如果您发布代码的相关部分,就会揭示原因。

关于c++ - 我可以通过 c 或 c++ 中的另一个 UDS 连接传递 UDS 文件描述符吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388140/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com