我试图通过另一个Unix域套接字连接将已建立的连接Unix域套接字文件描述符从进程A传递到进程B,没有运气 虽然通过tcp套接字没有问题。 有没有理由或者我做错了什么? 两者都通过匿名消息传递 感谢名单
答案 0 :(得分:1)
套接字文件描述符(就像常规文件描述符一样)在正确创建它们的进程之外绝对没有任何意义。当您向其他进程发送fd
时,您只是发送了一堆字节 - 仅此而已。
将工作 fd
从一个进程移动到另一个进程的唯一方法是fork()
包含要传递的fd
的进程。
如果您希望某个进程连接到特定的Unix套接字,则应将unix套接字文件系统条目名称传递给该进程。接收过程可以正确创建套接字并在之后建立连接。
我不知道你为什么没有传递tcp套接字fd
的问题。也许如果您发布代码的相关部分,原因将会被揭示。