fifo例項程式設計

2021-07-31 14:27:05 字數 1546 閱讀 8168

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define zigbee_pipetogw     "/tmp/pipezbtogw"

#define tcp_buffer_size 1024

/* * 功能: 進行有名管道的初始化

* 返回值, >=0表示成功, <0表示失敗

*/int fifoinit()

}return 0;

}

/* * 功能: 管道的讀端

* 返回值, >=0表示成功, <0表示失敗

*/int fiforead()

; printf("fiforead start\n");

while(1)

//超時設定

struct timeval sttv;

/** fd_zero

* 將指定的檔案描述符集清空,在對檔案描述符集合進行設定前,

* 必須對其進行初始化,如果不清空,由於在系統分配記憶體空間後,

* 通常並不作清空處理,所以結果是不可知的。

*/while(1)

else if(0 == nret)

if(fd_isset(pipe_fd, &readfd))

else if(0 == u32readbyte)

else}}

close(pipe_fd);

}return 0;

}

int main(int argc,char *argv)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define zigbee_pipetogw         "/tmp/pipezbtogw"

#define json_data_1 "," \

"]" \

"}"/* * 功能: 管道的寫端

* 返回值, >=0表示成功, <0表示失敗

*/

int fifowrite()

nret = write(pipe_fd, json_data_1, strlen(json_data_1) + 1);

if(nret == -1)

close(pipe_fd);

return 0;

}

int main(int argc,char *argv)

Linux系統程式設計 管道和FIFO

ls wc l 為執行上述命令,shell建立了兩個程序來分別執行ls和wc。通過管道連線兩個程序。管道是單向的,允許資料從乙個程序流向另乙個程序。管道是乙個位元組流意味著在使用管道時不存在訊息或訊息邊界。從管道中讀取資料的程序可以讀取任意大小的資料塊,而不管寫入程序寫入管道的資料塊大小。通過管道的...

Linux系統程式設計 fifo命名管道

fifo也被稱為命名管道。未命名的管道只能在兩個相關的程序之間使用,而且這兩個程序還有乙個共同的建立了他們的祖先程序,但是fifo,不相關的程序也能交換資料。fifo是一種檔案型別,fifo的建立有兩種方式。1.直接用命令建立 mkfifo 2.利用函式建立 int mkfifo const cha...

Linux系統程式設計之FIFO通訊

fifo 有名管道 應用於非血緣關係程序間 不能反覆讀取 例如 04 fifo w.c include include include include include include int main 當前目錄有乙個myfifo檔案 開啟fifo檔案 printf begin write.n int...