打开FIFO以及向FIFO写入/从FIFO读取的超时

时间:2019-04-12 05:47:59

标签: c fork named-pipes

我想实现许多客户端之间的通信(通过许多终端)。在我的程序中,我有很多孩子可以同时做饭。我的问题是,当客户端(例如客户端2)打开命名管道(例如使用客户端3)时,它会打开2_to_3命名管道,然后客户端2等待客户端3也打开2_to_3命名管道-管。我想放置一个计时器,这样我的客户就不会阻塞(不在开幕式和在写作/阅读时)。

char *pipename=malloc(50*sizeof(char));
strcpy(pipename,"project/");
strcat(pipename,firstclient);
strcat(pipename,"_to_");
strcat(pipename,secondclient);
int ret_val=mkfifo(pipename,0666);
char *buf=malloc(100*sizeof(char));
//we fill the buf with something
int fd;
fd=open(pipename,O_WRONLY);

write(fd,buf,100);

0 个答案:

没有答案