FINもないのにNSStreamEventEndEncouteredの続きなぜかNSInputStreamが0を返すので、いろいろ試しているうちにこうすれば正しく処理できるという方法がわかったのでメモ。サーバは次のような形式でデータを垂れ流す(簡略化している)。|長さ(2)|データ|長さ(2)|データ|....そこで、単純に処理することを考える。エラー;このようにすることで、簡単に同期読み込みでは0が返ってくるし、非同期(というのとはちょっと違う気がするがイベントベースの)読み込みではNSStreamEventEndEncouteredが通知される。予測通り、読み込みバッファのあふれが原因と考えられる。正しい読み方は読めるだけとにかく読む。読み込んだバッファ内で尺取虫する。それですべて解決した。NSLogとってみてみると、それまでのread回数が6×2に対して1程度にしか減っていない。