avoid creating unnecessary clients at the very beginning and close unnecessary clients when the channel is full; close the connection when error occurs in it