socet() exits if failed