Linux, using Socket and read write functions, can data fragmented?

view story

http://stackoverflow.com – In Linux, I am programming simple chatting program using client-server structure. It includes file transfer function too. I designed format used when client transfer file's data to server like this. (1 byte that display this is file data) (2 byte information to distinguish sender, receiver) (1 byte that informs what current data sending size is) (DATA..............) above information will be stored on buf[] (char[]) of course, sender use write call to send file data, receiver use read call to receive file data. I wonder that above format can be fragmented when read, write function using (HowTos)