首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以通过c或c++中的另一个UDS连接传递UDS文件描述符吗?

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

Stack Overflow用户
提问于 2012-05-01 01:47:21
回答 1查看 410关注 0票数 1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-01 02:29:40

套接字文件描述符(就像常规文件描述符一样)在正确创建它们的进程之外完全没有意义。当您向其他进程发送fd时,您只是发送了一堆字节--没有更多,也没有更少。

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10388140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档