coroutine based socket supports keep alive option before connect (about
issue #6)