我在用fifo来编写进程之间的数据传输,参考unix进程编程,但是遇到一个奇怪的现象。
1.程序卡在open 语句没法继续了,后续语句都执行不了。代码如下,这是为什么呢?
2.此外,我们的程序需要传送40个字节的数据,分两组32个每15秒一次,其他的0.1秒一次,
那么,把两组分时分别写入同一 fifo 来传输可以么?
3.传过去的数据包不校验行不行,要是校验,QNX有没有提供相关的函数,有没有关于数据包校验的书籍?
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main( void )
{
int fifo;
mkfifo( “/tmp/upward”, S_IRUSR | S_IWUSR );
printf(“ok\n”);
fifo= open("/tmp/upward", O_WRONLY);
printf(“ok\n”);
close(fifo);
unlink("/tmp/upward");
exit(0);
}