I personally associate End of Stream errors with there being too much going on for the client to stay connected to the server. These are typically caused by removing vast pools of water from say quarry's or by having a lot of items spill out into the world from say pipes. Large explosions leaving lots of entities also cause End of Streams. If you live close or in the same building I guess you can discount the above, if you don't get your friend to check out your place and make sure it's not covered with entities.