repeated read to avoid packet splicing