何が起きているのか考える

さて原因は何だろう。
もし二枚目の画像データが何らかの原因で送られてきていないのなら、
image2に画像オブジェクトの参照を返すImageIO.read(in)自体から返ってこない。
nullを返しているとはいえ、このメソッドから戻っているということは、
データは送られてきているが、そのデータが壊れて画像として解釈できないということか、
何か余計なものが一緒に送られて画像データではないと判断されたかであろうと推測できる。
常に同じ結果になることから考えて、データが送受信で壊れている可能性はこの場合ないだろう。
ということで、思ってなかったものが送られて、画像として成り立っていないのだろうと思われる。