我使用一个命名管道FIFO在C(生成数字的循环是C)和python(监听C生成的数字并读取它们并处理它们)之间进行通信。 代码运行良好,除了在C中生成的每个数字之外,我需要关闭fifo才能在Python中看到它,否则在调用close命令之前它不会在Python中显示。我不知道在python代码中打开和关闭FIFO是否是一个好主意。我需要注意的是,C代码每50毫秒生成一个数字。这就是为什么我怀疑打开和关闭是否是个好主意。 下面是我用C和Python编写的代码:
C作为服务器:
while (1){
t=time_in_ms();
if (t-t0>=50){
t0=t;
flag=1;
}
else{
flag=0;
}
if (flag==1){
flag=0;
printf("%lld %lld\n",count,t);
count+=1;
fprintf(f,"%lld\r",t);
fflush(f);
fclose(f);
f=fopen("fifo","w");
}
}
并以Python作为客户端代码:
^{pr2}$
下面是一个小的工作示例
Python方面:
在“服务器”C端
^{pr2}$C程序末尾的无休止的循环只是为了证明在python程序中读取数据之前不需要关闭文件
我还应该说我已经有一段时间没有做过C代码了。在
相关问题 更多 >
编程相关推荐