public ZMsg Recv() { IntPtr res = C.zbuswrk_recv(this.connection.Handle, this._handle); IntPtr c_sock_id, c_msg_id; C.zbuswrk_get_address(this._handle, out c_sock_id, out c_msg_id); this.RecvSockId = ZMsg.ToZFrame(c_sock_id); this.RecvMsgId = ZMsg.ToZFrame(c_msg_id); ZMsg result = null; if (res != IntPtr.Zero) { result = ZMsg.ToZMsg(res); } return(result); }