use libzmq master,add more macros and do some modification