接続待ちの状態にしたい時にListenにするだけの話だろ?
たとえばクライアントから接続要求が来た時点では
接続を待つ必要が無いのだからCloseしてListenを解除してもかまわない。
サンプルコードではListen用のソケットを個別に設けているのだから
サーバー側はアプリが終了するまでCloseする必要性がない。
最大接続数を超過した場合はどうなるか知らんが。