gpt4 book ai didi

c - linux fork通信

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:45 24 4
gpt4 key购买 nike

我有一个父进程和 n 个子进程等待从网络接收一些东西。问题是对于子进程从网络收到的每条消息,我需要告诉父亲消息包含什么。如果我尝试在父亲和 child 之间建立一个管道或套接字对,然后父亲就不知道一条消息在哪里结束,另一条消息从哪里开始。你能帮忙吗?

最佳答案

您正在使用面向流的管道/套接字对。所以你失去了消息边界。

使用面向数据报的套接字来保持消息边界。

参见 map unix(7)有关基于数据报的 unix 套接字和套接字对的更多信息。

有些功能可能适合您:

   socket(AF_UNIX, SOCK_DGRAM, 0);
socketpair(AF_UNIX, SOCK_DGRAM, 0, int *sv);

关于c - linux fork通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194312/

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