#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...