non-block socket io