我能否通过 C 或 C++ 中的另一个 UDS 连接传递 UDS 文件描述符

Can I pass a UDS file descriptor through another UDS connection in c or c++

本文关键字:UDS 连接 另一个 描述 文件 C++      更新时间:2023-10-16

我正在尝试通过另一个Unix域套接字连接将已建立的连接Unix域套接字文件描述符从进程A传递到进程B,但没有运气尽管通过TCP套接字没有问题。是有原因还是我做错了什么?两者都通过辅助消息传递感谢

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

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

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

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