Not calling recv when data is received will accumulate data in the internal recveive buffer until it's full, in which case is will stop acknowledging. This can lead to unjustified disconnections.