Sending data chunks over named pipe in linux

Viewed 1654

I want to send data blocks over named pipe and want receiver to know where data blocks end. How should I do it with named pipes? Should I use some format for joining and splitting blocks (treat pipe always as stream of bytes) or are there any other method?

I've tried opening and closing pipe at sender for every data block but data becomes concatenated at receiver side (EOF not send):

for _ in range(2):
     with open('myfifo', 'bw') as f:
         f.write(b'+')

Result:

rsk@fe temp $ cat myfifo 
++rsk@fe temp $
3 Answers
Related