我有一个父进程和n个子进程在等待,所以从network.The接收到一些东西,就是对子进程从网络收到的每一条消息,我需要告诉父亲,我试图在父亲和孩子之间建立管道或套接字对,然后父亲就不知道消息在哪里结束,另一个begins.Can在哪里,请你帮忙?
发布于 2013-01-07 19:06:24
您正在使用面向流的管道/套接字对。所以你失去了消息的边界。
使用面向数据报的套接字来保持消息边界。
有一些函数可能适合您:
socket(AF_UNIX, SOCK_DGRAM, 0);
socketpair(AF_UNIX, SOCK_DGRAM, 0, int *sv);发布于 2013-01-07 18:51:17
在写入管道或套接字对之前,使用一些分隔符,这样每个孩子在发送给父亲之前都会将该分隔符添加到消息中
https://stackoverflow.com/questions/14194312
复制相似问题