Version 1: - comm_receive condensed to a single loop - cleaned up buffer allocation - put SO_REUSEADDR back