fails to read certain messages. Seems to read unchoke, have, and sometimes bitfield. Crashes a lot on bitfield