Added non blocking socket capability via Trinick with modifications