你好,我玩的部落冲突号怎么找回是华为应用市场的,记的是由qq号登陆的,现在全不见了,怎么找回

下次自动登录
分享体验互联网的优秀产品
现在的位置:
部落冲突安卓版终于成功关联到Google+账号
本来没有打算让部落冲突关联的,在部落里有人问到这个问题,我说明了方法,不过他们还是会碰到很多问题,想想我也试试以获得亲身经历,竟然也绑定成功了。最怕哪一天软件升级,安装后数据全没了,如果出现这个情况,我就有好理由刹车,不玩了。我是觉得安卓机不绑定,迟早会挂。
因为之前自己刷过机,谷歌服务框架都卸载得干干净净了,就是我那C8815,掉过水现在还活着,以前装了一大堆应用卸载了很多,试下能不能装上。
搜索一下有个“谷歌服务框架安装神器”(类似的还有“”),下载装完自动重启后,如下图,虽然服务框架已经装了,但还是提示没安装,不管他。
豌豆荚提示要升级,打开部落冲突竟然黑屏了几分钟,等了半天,点击“已断开”按钮,输入Gmail邮箱账号和密码,貌似可以登陆Google服务器,只是很慢。
最后也提示要升级,你必须先更新Google Play服务才能运行此应用。遂就到豌豆荚那里升级了,当时没截图。
升级后,Google Play电脑端竟然可以访问,不过手机还是登陆很慢,关联不了,无法创建个人资料,提示:抱歉,Google+无法设置你的个人资料,请稍后重试。
看来还是得搞个VPN代理访问比较快,先选择试下,免费、免注册,但是有广告,可以用的话,暂时先用,操作也不难,打开开关就可以了,不截图了。也可以将路由器(手机/电脑)的DNS设置成为8.8.8.8和8.8.4.4,路由器后台网址大多数都是192.168.1.1或者192.168.0.1,不懂得操作不要随便保存。
重新打开部落冲突,点击齿轮设置登陆Google+,提示“部落冲突”申请获得以下权限,点登陆,好久没在手机上看到Google+的标志了。
终于登陆成功,首次登陆开始同步数据,声音提示主要是获得的成就,看起来很爽的感觉。
使用上还在体验测试,不过有时候还是会提示:很抱歉,“Google Play服务”已停止运行。可以用“文件管理器”或“ES文件浏览器”,打开目录“data/app”,找到“com.android.vending-1.apk”文件,把它复制到“system/app”目录下,同时要把权限改为可执行,然后重启手机即可。
如果可以用了之后,这个所谓的“谷歌服务框架安装神器”可以卸载了,不知道是不是这个有偷偷装个应用“Medias.apk”在“system/app”目录下,手动删除它。
关联一次就可以了,服务器端会自动更新,不需要每次登陆部落冲突都要打开VPN翻墙。
手机刷机?系统清理?软件更新?如果很不幸,部落冲突数据丢失了,怎么办?
点击设置里面的帮助与支持按钮,在帮助与支持页面底部点击Email按钮,选择村庄丢失,提示你发邮件,按要求写上发送即可。
Name of village:你村庄的名字
Name of the clan you are part of:你部落的名字
Town hall level:你基地等级
Date and time your last play session:你最后上线的日期
如果你购买过宝石,把发票号带上,可能会有帮助。
发送邮件后,你会收到一封邮件,内容大概是这样:
Your request (#1116819) has been received, and is being reviewed by our support staff. We'll contact you as soon as we have an answer for you.
如果你完成了第1步,几天后你会收到封回信:
I have now found your old village and swapped the Google+ so please launch the game to see if it was recovered. You should see a popup asking if you want to recover your village. Please note that if you select "Yes" from this popup, you will lose the village in the background.
If that does not work, you might need to log out of your current Game Center account and log back in.
I apologize for the delay. Let me know if you need more help with this.
Have a great day.
内容大概就是,客服已经把你原先的进度粘贴到你的Google+帐号上,你再登录游戏的时候会出现你原来进度的提示,选是,覆盖掉你新建的村庄,这样你的进度就回来了。建议大家不要用中文,否则可能提示你说没有在中国发行,如果村庄名字是中文则不影响。
先用段时间,不保证你的手机也一定能用,有需要再整理提供给大家下载了。
我前几天就7本满防了,长期混迹在1000杯以下,今天野蛮人之王也升级到了5级了,满防是比较轻松些。大本升级了几天取消了,还是等着研究好,顺便把圣水采集器也升级下,至少10级,升本期间还可以继续升级,觉得越到后面这水越重要。最快29号开始升级8本,觉得玩到8本就差不多了。
这是抢了个10本3千多黑水,飞龙气球流,叫你速本,哈哈!
PS:昨天侄儿发视频给我,点接受,手机自动重启了,完了后微信就出现故障了,手机内存不足,提示重新登陆,登陆后又自动退出提示重新登陆。微信莫名其妙竟然占用了5百多兆空间,算了,不得不卸载掉,里面的聊天记录之前没上传,也就没了。
绑定其实不难,如果怕麻烦不想绑定Google而实现数据安全,可以尝试用钛备份(网上有成功也有失败的),不过因为我绑定成功了,就懒得再去试了,翻了很多文件还没找到那个识别你村庄的ID,简单一点,不绑定的话貌似只有这个方法可行了。
【上篇】【下篇】
百度站内搜索
同分类最新文章
日志:213篇
评论:1043条
标签:146个
运行:1166天
最后更新:日当前位置:&
部落冲突华为版 v8.551.3 - 安卓版
建立村庄,赶走侵略者,将敌军杀个片甲不留!
适用于Android
不含数据包
无需谷歌市场
不支持手柄
语言:中文
类型:策略
版本:v8.551.3
文件大小:54.12MB
支持系统:1.5或更高
发布时间:
平庸缺乏吸引力
其他平台下载
部落冲突单机版 版本:v8.332.16
部落冲突金立版 版本:v8.551.3
部落冲突百度版 版本:v8.551.3
部落冲突360版 版本:v8.551.3
部落冲突昆仑版 版本:v8.551.3
部落冲突TV版 版本:v8.551.3
部落冲突九游版 版本:v8.551.3
部落冲突应用宝版 版本:v8.551.3
《华为版》是由芬兰游戏公司所推出的策略类手机游戏,于日在苹果应用商店发布。2015年9月,《部落冲突华为版》由林志颖、林俊杰、高圆圆正式登录应用市场。游戏特色1、高清画质打造;2、策略部署军队,展现超凡军事能力;3、抢夺资源扩大实力,争霸最强。更新内容版本:v8.551.3 时间:日1.10月更新即将来临,我们推出了新的建筑,优化了军队训练系统,同时还有更多的新内容;2.大本营达到8级即可解锁炸弹塔啦;3.新的兵种等级:飞、飞龙宝宝,法师;4.新的防御建筑等级:X连弩、迫击炮、特斯拉电磁塔;5.11级大本营新增25块城墙;6.降低了多个防御建筑和兵种升级的时间和花费;版本:v8.332.9 时间:日1、全新友谊战机制!通过开展友谊战,部落成员们可以相互进攻进行练习、比赛或者只是简单地打着玩!友谊战没有次数限制,且不会消耗双方任何金币、部队、法术、英雄或陷阱。您也无法从中赢得任何资源、奖杯或奖励。2、全新兵种及法术!- 九本解锁飞龙宝宝!虽然飞龙宝宝在其他飞行部队的旁边会有点害羞,不过当它身边没有其他空中部队的时候可是会陷入狂暴;- 九本解锁骷髅法术!大家可以收获很多萌的骷髅了;- 十本解锁掘地矿工,他们可以从地下穿过城墙去接近目标哟;- 十本解锁镜像法术,可以复制经过法术作用范围的部队,复制出的部队将有一定的持续时间;
部落冲突华为版攻略心得
部落冲突华为版游戏问题
存档/修改器
战争手游战争策略部落类游戏建造类
战争手游大全
从人类出现以来,战争就一直没有停止过。中国几千年历史告诉我们弱肉强食,适者生存。现在呢,小编为大家准备了大量的关于战争手机游戏,好玩又有趣,喜欢战争游戏的小伙伴呢,千万不要错过哦。...
手机战争策略游戏合集
战争策略游戏是指战争类的模拟策略游戏,通过战棋或者模拟来演示战争的进度与过程,主要注重策略性。玩家要制定战术部署来用最合理的方法消灭敌人,在游戏中,你能感受到战争的硝烟弥漫,勇士们,拿起你手中的武器,加入战团,缔造战无不胜的神话吧!...
部落手游大全
部落游戏中,玩家可以训练你的军队,运用策略,寻找盟友,壮大你的部落。现在,就让小编来为大家带来部落手游合集,向大家推荐好玩有趣的部落手机游戏,喜欢部落手游的小伙伴千万不要错过哦。...
建造类手游大全
建造类手游通常是指以建设建筑为目的的手机游戏,这类型游戏多为模拟经营游戏。建造类单机游戏的优势在于其拥有非常高的自由度,可以让玩家最大程度发挥自己的想象力,建造出属于自己的世界。小编为大家带来了一些精品建造类手游,赶紧去下载玩玩吧!...
同类游戏排行
大小:54.12MB
语言:中文
随便看看换一批
玩游戏网 Corporation, All Rights Reserved 湘ICP备号-3& & & & 华为U8800+/U8800Pro论坛
本版为【华为U8800+/U8800Pro论坛】请严格按照版规:
1:涉黄,涉政,影响社会稳定,影响论坛秩序的帖子,第一时间封杀,没得商量!!!
2:推广,广告,涉及交易的帖子(第一次删帖,第二次禁言3天。第三次永久禁言了)!!!
3:论坛是一个文明的地方,所以禁止一切不文明因素(发帖、回帖互骂等),有意见的可以去申诉版块投诉!!!
4:木蚂蚁的发展离不开资源的分享,所以你可以随意的搬运合规的资源来木蚂蚁,但不能带有外链,QQ号,QQ群之类的,网盘除外(否则删帖勿怪)!!!
5:禁止版聊,刷分等恶意顶帖行为,也不提倡毫无意义的回帖,回帖是对作者的支持,希望大家别做伸手党!!!
6:如果大家遇到违反版规的帖子,请点击“举报”,或者去举报版块举报(有金币奖励)。
7:论坛十分鼓励大家发帖,分享资源,这也就是论坛本身的意义所在,凡是合理有意义的帖子,一律加金币鼓励。 & && &
8:如果觉得自己的帖子很好,值得点亮、加精、置顶,那么请在帖子开头处写明,管理人员看到后会第一时间审核处理。不要在标题中注明。
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &5.18
& && && && && && && && && && && && && && && && && && && && && & & && && &&&
推荐版块:
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
木蚂蚁官方微信:部落冲突华为版进不去系统异常怎么办_魔方网部落冲突专区
你正在访问:
部落冲突华为版进不去系统异常怎么办
部落冲突华为版进不去系统异常怎么办?想必今天很多使用这个版本的玩家都遇到这样的问题了,那么究竟是什么原因呢?下面一起看看华为版进不去系统异常解决方 ...
  今天很多小伙伴说华为版的部落进不去,显示系统异常,那么这是怎么回事呢?小编也是及时联系了一下客服。
  客服的回答是服务器升级~但是目前什么时候升级完成还没有给出具体时间。
  所以大家也不要卸载或者重启手机,因为没用!最好的方法就是等~~
  小编推荐:
更多阵型布局:
突破经典的飞行射击类精品手机游戏。继承了经典飞机大战简单爽快的操作体验,玩法更多样。这么好玩的游戏,确定不玩吗?华为荣耀6p和荣耀7系统异常,错误代码10000/0/getTMPSTfail玩部落冲突登不进跳出这个。
15:55 网络整理
后使用快捷导航没有帐号?
荣耀6P不能玩部落冲突(COC)页面登入不进
&登堂入室&
来自:PE-TL20
我以前用三星时,刷机4.2时也出现过这情况,再刷别的版又能登入COC!这应该是个BUG,希望修改一下!
width:100%&&
&自成一派&
来自:浏览器
楼主root过手机了?可能是刷的那个rom不兼容部落冲突吧,华为本身是支持的。
当我第一次知道要发帖的时候,其实我是,是拒绝的,我跟大家讲,我拒绝,因为其实我根本不会发帖。
大家跟我讲,发完加特技,回复duang~duang~duang~,我的发帖,假的假的是假的。
是特技的发帖,是搞笑的成分,是发帖的特技,duang~~
width:100%&&
&登堂入室&
来自:PE-TL20
长相不够PS来凑 发表于
楼主root过手机了?可能是刷的那个rom不兼容部落冲突吧,华为本身是支持的。 ...
没root& & 现在可以上了
width:100%&&
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
好基友勋章
花粉好机友,注册时间大于99天
国庆回家路途风景黑白中的温暖莫斯科奇妙火车之旅中秋节的红包
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利FTPd是一款不错的ftp软件了,但今天小编设置问题导致Pure-FTPd出现“登录失败: 530 Login authentication failed”了,下面我们一起来看问题的解决办法了. 再次遭遇Pure-FTPd“登录失败: 530 Login authentication failed”的问题,这一次的原因竟然是虚拟用户uid小于pure-ftpd.conf中的MinUID值,现在详细说明整个查错过程。 一般情况下,我是使用yum来安装pure-ftpd,并直接使用PureDB来验证
OS X Yosemite无法登陆怎么办 osxyosemite登录失败原因 OS X Yosemite今日正式发布,同事升级到最新“优胜美地”版之后遇到了无法登录无敌风火轮问题。经过一番折腾,发现竟然是因为之前安装了搜狗输入法Mac版。 具体原因不明,据说安装最新版的搜狗输入法Mac版已经解决此问题。 解决办法: 1.强制关机重启 2.开机时按住“Command键+S”,进入单用户模式 2.输入命令“mount -uaw”,进入输入法管理界面 3.rm -rf /Library/Input M
微信如今变的越来越火,因此小编最近也开始在安卓手机上安装了微信,不过令笔者奇怪的是每次使用自己的QQ号码登录微信总是登录失败,提示“登录失败(4,-69)&,不知道是这么回事,在百度搜索了一下也发现很多朋友遇到了与笔者相同的问题,不少网友建议卸载手机上的微信再安装试试,其实小编试过了都没用,后来通过查阅了不少资料才明白是因为什么导致微信登陆失败(4,-69),这里与大家分享下,希望对遇到类似问题的朋友有所帮助。 手机微信技巧:微信好友怎么恢复 教你怎么恢复微信好友 微信公众平台 其实导致在手机上
qq音乐登录失败怎么回事?小编带来了qq音乐登陆不上解决方法,为什么无法登陆qq音乐呢?如果你也想知道原因的话,就请看下文介绍并解决问题吧。 法一、检查放火墙是否禁止QQ音乐访问,如果您使用“瑞星”、“金山网镖”、“天网”等防火墙,请查看是否您设置了“禁止使用QQ音乐及插件”,将“禁止”状态修改为“允许”状态,或退出防火墙后再试。 法二、利用360安全卫士进行问题修复,打开安全卫士界面,点击菜单栏上的人工服务、找到QQ问题、找到qq相关产品无法登陆选项,点击立即修复。修复完成
QQ音乐登录失败原因分析: 一、木马病毒对qq音乐2014的必要组件或文件进行破坏,导致QQ音乐登录失败,登陆不上的情况发生。 二、Windows系统防火墙(或其他安全软件)对更新后的QQ音乐程序采取了阻止连接网络的策略,致使QQ音乐不能正常联通网络,登录补上。 三、本地网络连接出现问题,(例如:网络慢就会导致这个问题)或是QQ程序在更新过程中出现版本信息不兼容的问题导致。 QQ音乐登陆不了解决办法 1、最有可能导致QQ音乐2014登录失败的原因就是木马病毒,如果您发现电脑有这种现象时建议使用金
QQ音乐登录失败原因分析: 一、木马病毒对qq音乐2014的必要组件或文件进行破坏,导致QQ音乐登录失败,登陆不上的情况发生。 二、Windows系统防火墙(或其他安全软件)对更新后的QQ音乐程序采取了阻止连接网络的策略,致使QQ音乐不能正常联通网络,登录补上。 三、本地网络连接出现问题,(例如:网络慢就会导致这个问题)或是QQ程序在更新过程中出现版本信息不兼容的问题导致。 QQ音乐登陆不了解决办法 1、最有可能导致QQ音乐2014登录失败的原因就是木马病毒,如果您发现电脑有这种现象时建议使用金
最近有不少朋友都遇到了微信5.0会自动关闭的问题,很多朋友不知道是什么原因,也不知道如何解决。多数朋友遇到微信5.0自动退出,只能进行重新登录来解决,但是一旦退出了,就说明微信5.0无法接受消息,对于喜欢后台挂微信的朋友来说,很不方便。微信5.0会自动关闭怎么回事,又该如何解决呢,以下小编来给大家解答下。 软件下载:微信5.0 for android 官方安装版 微信5.0会自动关闭怎么回事 微信5.0自动退出的解决办法 对于这种微信5.0强制自动关闭,导致无法接受到消息的问题,主要跟手机内存(
网银登录方式一般有证书登录、用户名登录、卡号登录,但是有时候无论是采用哪种登录方式,都会提示:尊敬的客户:“您的浏览器内核为(Netscape),我行银行暂不支持此浏览器,请您使用IE浏览器登录。” 进入网银登录界面,单击浏览器菜单栏的“工具”,然后选择“兼容性视图设置(B)”。 在弹出的对话框中,在“添加到此(D)”栏下,会自动出现了网银网址(您也可以手动输入)。这里,我们点击“添加”按钮。 这样网址就会出现在“已添加到兼容性视图中的(W)”中。点击“关闭”按钮。最下面的两项也都应
法一、检查网络放火墙是否禁止QQ音乐访问网络,如果您使用“瑞星”、“金山网镖”、“天网”等防火墙,请查看是否您设置了“禁止使用QQ音乐及插件”,将“禁止”状态修改为“允许”状态,或退出防火墙后再试。 法二、利用360安全卫士进行问题修复,打开安全卫士界面,点击菜单栏上的人工服务、找到QQ问题、找到qq相关产品无法登陆选项,点击立即修复。修复完成后,重新打开QQ音乐,应该就可以了。 法三、实在还是不行,那么请重新安装qq音乐。
[1]关闭杀软等安全软件 =&右键图标退出. [2]修改最大全局连接数 =&配置中心 =&我的下载 =&常用设置 =&连接管理 =&全局最大连接数修改为100后点击右上角应用. [3]重新启动电脑.网络 =&拔了网线重新连接或者重新启动路由器,也可以尝试不连接路由. [4]删除ver1重新安装迅雷,请在C:Program FilesCommon FilesThunder NetworkTP里把Ver1文件删除(连同Ver1文件夹一起删除)然后卸载迅雷,再到迅雷软件
同时,远程桌面守护还可以帮助用户避免因为安全策略端口保护规则设置不当引起的远程登录被禁止问题. 软件下载:服务器安全狗 v4.0 http://www./softs/35203.html 在开启远程桌面守护功能之后,如果遇到服务器远程桌面登录失败,请联系机房,暂停服务器安全狗远程桌面守护功能,即可解决问题。 远程登录端口的设置: 对于服务器远程登录端口的添加,系统可自动获取,并添加到“远程登录端口”,用户不需要再手动添加。 图1.远程登录端口设置 同时,端口对话框还允许用户直接在此更改用于进行远
图1 那安全策略有什么作用,用户又该如何进行设置能起到最好的效果呢?下面我们一起来看看: 软件下载:服务器安全狗 v4.0 http://www./softs/35203.html 服务器安全狗安全策略功能主要通过执行具体的端口保护规则,限制或者允许进程对端口的连接请求,来保护服务器安全。 用户可以通过单击操作界面右上方的按钮“已开启”/“已关闭”按钮来开启/关闭安全策略功能。用户必须开启安全策略功能,所有端口保护规则才会生效,否则所有关于端口的设置都为无效。如下图所示: 图2.开启安全策略功能
telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器
WindowsXP的使用过程中如果你是一个很容易遗忘的人,那么一定不要忘记在第一次设置密码的同时创建一张可以恢复WindowsXP中的账户密码的启动盘,它可以让你免去格式化硬盘的烦恼。 从“控制面板”中找到“用户账户”项,选中自己的账户进入如图所示的控制界面,我们可以看到左侧任务列表中有一项“阻止一个已忘记的密码”,点击后便可打开“忘记密码向导”,向导会提示插入一张格式化过的空白磁盘,操作过程中会让你输入该账户所使用的密码,很快便可以创建一张密码重设盘。 以后,当我们忘记了账户密
前些时谈了一下如何屏蔽对网站服务器的扫描,属于前台防御。后来 Felix 发了一篇 blog 提到将多次尝试 SSH 登录失败的 IP ban 掉,才想起来去看一下日志,没想到后院起火了。 查看日志文件: 复制代码 代码如下: $ sudo cat /var/log/auth.log 没想到满屏满屏的往下刷,全是: 复制代码 代码如下: $ sudo grep &Failed password for root& /var/log/auth.log | awk '{print $11}' | s
WindowsXP的使用过程中如果你是一个很容易遗忘的人,那么一定不要忘记在第一次设置密码的同时创建一张可以恢复WindowsXP中的账户密码的启动盘,它可以让你免去格式化硬盘的烦恼。 从“控制面板”中找到“用户账户”项,选中自己的账户进入如图所示的控制界面,我们可以看到左侧任务列表中有一项“阻止一个已忘记的密码”,点击后便可打开“忘记密码向导”,向导会提示插入一张格式化过的空白磁盘,操作过程中会让你输入该账户所使用的密码,很快便可以创建一张密码重设盘。 以后,当我们忘记了账户密码的
Windows XP的使用过程中如果你是一个很容易遗忘的人,那么一定不要忘记在第一次设置密码的同时创建一张可以恢复Windows XP中的账户密码的启动盘,它可以让你免去格式化硬盘的烦恼。 从“控制面板”中找到“用户账户”项,选中自己的账户进入如图所示的控制界面,我们可以看到左侧任务列表中有一项“阻止一个已忘记的密码”,点击后便可打开“忘记密码向导”,向导会提示插入一张格式化过的空白磁盘,操作过程中会让你输入该账户所使用的密码,很快便可以创建一张密码重设盘。 以后,当我们忘记了账户密码的时候,在
QQ音乐2014登陆失败怎么办? 造成QQ音乐214登录不上现象的原因有如下三种可能: 一、木马病毒对qq音乐2014的必要组件或文件进行破坏,导致QQ音乐登录失败,登陆不上的情况发生。 二、Windows系统防火墙(或其他安全软件)对更新后的QQ音乐程序采取了阻止连接网络的策略,致使QQ音乐不能正常联通网络,登录补上。 三、本地网络连接出现问题,(例如:网络慢就会导致这个问题)或是QQ程序在更新过程中出现版本信息不兼容的问题导致。 解决这些问题的方法有: 1、最有可能导致QQ音乐2014登录失
最近两天重装了一个win2003 操作系统!, 上面共享了一个HP M1136 的本地打印机!奇怪的问题出现了, 我在win2003上设置好共享打印机以后公司的一部分同事的电脑可以通过 /192.168.1.149 正常登陆并使用共享的打印机, 但是我自己的win7系统通过 /192.168.1.149到登陆界面但是就是登陆不成功,提示如下图所示: 很郁闷啊 ,因为别人可以正常访问所以肯定是我自己电脑设置的问题!! 经过很长时间的查找终于找到了解决方法!Win7下无法访问局域网打印机(登录失败:
如果你留意Windows系统的安全日志,在那些事件描述中你将会发现里面的“登录类型”并非全部相同,难道除了在键盘上进行交互式登录(登录类型1)之外还有其它类型吗? 不错,Windows为了让你从日志中获得更多有价值的信息,它细分了很多种登录类型,以便让你区分登录者到底是从本地登录,还是从网络登录,以及其它更多的登录方式。因为了解了这些登录方式,将有助于你从事件日志中发现可疑的黑客行为,并能够判断其攻击方式。下面我们就来详细地看看Windows的登录类型。 登录类型2:交互式登录(Interact华为手机为什么系统错误_部落战争吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:600,075贴子:
华为手机为什么系统错误
今天为什么部落冲突登不上去是手机的事吗
楼楼手机是华为 普通型...
这个怎么取消掉
1楼我占用了!     ...
360今天给我虚假推送更...
用华为手机的吧友们 你...
Mate 7、P7、G7的热卖,...
齐鲁网 近日,青岛贾先...
我也是的手机!X1游戏登陆不了了!为什么!
我的也是系统,也登录不上,提示系统异常,错误码: 1000/0/gettmpst fail!
我的也一样
我的华为也是
易行自然:看九楼的解决方法
怎么弄啊我去。。
我用完这个方法号没了咋办。。艹
内&&容:使用签名档&&
保存至快速回贴项目语言:None
权限:read-only(如需更高权限请先加入项目)
Alibaba Group Holding Limited
* This prog you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* Version: $Id: tair_client.cpp -10 04:32:51Z yuming $
* Authors:
#include &tair_client.hpp&
#include &define.hpp&
#include &item_manager.hpp&
#include &util.hpp&
#include &dump_data_info.hpp&
#include &query_info_packet.hpp&
namespace tair {
tair_client::tair_client()
is_config_server =
//server_id = 0;
//m_slaveServerId = 0;
group_name = NULL;
cmd_line = NULL;
cmd_file_name = NULL;
is_cancel =
server_addr = NULL;
slave_server_addr = NULL;
key_format = 0;
default_area = 0;
cmd_map[&help&] = &tair_client::do_cmd_
cmd_map[&quit&] = &tair_client::do_cmd_
cmd_map[&exit&] = &tair_client::do_cmd_
cmd_map[&put&] = &tair_client::do_cmd_
cmd_map[&incr&] = &tair_client::do_cmd_
cmd_map[&get&] = &tair_client::do_cmd_
cmd_map[&mget&] = &tair_client::do_cmd_
cmd_map[&remove&] = &tair_client::do_cmd_
cmd_map[&mremove&] = &tair_client::do_cmd_
cmd_map[&delall&] = &tair_client::do_cmd_remove_
cmd_map[&dump&] = &tair_client::do_cmd_dump_
cmd_map[&stat&] = &tair_client::do_cmd_
cmd_map[&setstatus&] = &tair_client::do_cmd_
cmd_map[&getstatus&] = &tair_client::do_cmd_
cmd_map[&gettmpdownsvr&] = &tair_client::do_cmd_
cmd_map[&resetserver&] = &tair_client::do_cmd_
cmd_map[&flushmmt&] = &tair_client::do_cmd_
cmd_map[&resetdb&] = &tair_client::do_cmd_
// cmd_map[&additems&] = &tair_client::doCmdAddI
tair_client::~tair_client()
if (group_name) {
free(group_name);
group_name = NULL;
if (cmd_line) {
free(cmd_line);
cmd_line = NULL;
if (cmd_file_name) {
free(cmd_file_name);
cmd_file_name = NULL;
// clear cmd_client_map
for (std::map&std::string, tair_client_impl*&::iterator it = cmd_client_map.begin();
it != cmd_client_map.end(); it++) {
if (it-&second != &client_helper) {
delete it-&
void tair_client::print_usage(char *prog_name)
fprintf(stderr, &%s -s server:port\n OR\n%s -c configserver:port -g groupname\n\n&
-s, --server
data server,default port:%d\n&
-c, --configserver
default port: %d\n&
-g, --groupname
group name\n&
-l, --cmd_line
exec cmd\n&
-q, --cmd_file
script file\n&
-h, --help
print this message\n&
-v, --verbose
print debug info\n&
-V, --version
print version\n\n&,
prog_name, prog_name, TAIR_SERVER_DEFAULT_PORT, TAIR_CONFIG_SERVER_DEFAULT_PORT);
bool tair_client::parse_cmd_line(int argc, char *const argv[])
const char *optstring = &s:c:g:hVvl:q:&;
struct option longopts[] = {
{&server&, 1, NULL, 's'},
{&configserver&, 1, NULL, 'c'},
{&groupname&, 1, NULL, 'g'},
{&cmd_line&, 1, NULL, 'l'},
{&cmd_file&, 1, NULL, 'q'},
{&help&, 0, NULL, 'h'},
{&verbose&, 0, NULL, 'v'},
{&version&, 0, NULL, 'V'},
{0, 0, 0, 0}
opterr = 0;
while ((opt = getopt_long(argc, argv, optstring, longopts, NULL)) != -1) {
switch (opt) {
case 'c': {
if (server_addr != NULL && is_config_server == false) {
//uint64_t id = tbsys::CNetUtil::strToAddr(optarg, TAIR_CONFIG_SERVER_DEFAULT_PORT);
if (server_addr == NULL) {
server_addr =
slave_server_addr =
is_config_server =
case 's': {
if (server_addr != NULL && is_config_server == true) {
server_addr =
//server_id = tbsys::CNetUtil::strToAddr(optarg, TAIR_SERVER_DEFAULT_PORT);
case 'g':
group_name = strdup(optarg);
case 'l':
cmd_line = strdup(optarg);
case 'q':
cmd_file_name = strdup(optarg);
case 'v':
TBSYS_LOGGER.setLogLevel(&DEBUG&);
case 'V':
fprintf(stderr, &BUILD_TIME: %s %s\n&, __DATE__, __TIME__);
case 'h':
print_usage(argv[0]);
if (server_addr == NULL || (is_config_server == true && group_name == NULL)) {
print_usage(argv[0]);
cmd_call tair_client::parse_cmd(char *key, VSTRING &param)
cmdCall = NULL;
while (*key == ' ') key++;
token = key + strlen(key);
while (*(token-1) == ' ' || *(token-1) == '\n' || *(token-1) == '\r') token --;
*token = '\0';
if (key[0] == '\0') {
return NULL;
token = strchr(key, ' ');
if (token != NULL) {
*token = '\0';
str_cmdcall_map_iter it = cmd_map.find(tbsys::CStringUtil::strToLower(key));
if (it == cmd_map.end()) {
return NULL;
cmdCall = it-&
if (token != NULL) {
key = NULL;
param.clear();
while ((token = strsep(&key, & &)) != NULL) {
if (token[0] == '\0')
param.push_back(token);
return cmdC
void tair_client::cancel()
is_cancel =
bool tair_client::start()
bool done =
client_helper.set_timeout(5000);
client_helper.set_can_mock(true);
if (is_config_server) {
done = client_helper.startup(server_addr, slave_server_addr, group_name);
//done = client_helper.startup(server_id);
if (done == false) {
fprintf(stderr, &%s cann't connect.\n&, server_addr);
// add to client map
cmd_client_map[group_name] = &client_
char buffer[CMD_MAX_LEN];
if (cmd_line != NULL) {
strcpy(buffer, cmd_line);
vector&char*& cmd_
tbsys::CStringUtil::split(buffer, &;&, cmd_list);
for(uint32_t i=0; i&cmd_list.size(); i++) {
cmd_call this_cmd_call = parse_cmd(cmd_list[i], param);
if (this_cmd_call == NULL) {
(this-&*this_cmd_call)(param);
} else if (cmd_file_name != NULL) {
FILE *fp = fopen(cmd_file_name, &rb&);
if (fp != NULL) {
while(fgets(buffer, CMD_MAX_LEN, fp)) {
cmd_call this_cmd_call = parse_cmd(buffer, param);
if (this_cmd_call == NULL) {
fprintf(stderr, &unknown command.\n\n&);
(this-&*this_cmd_call)(param);
fclose(fp);
fprintf(stderr, &open failure: %s\n\n&, cmd_file_name);
while (done) {
if (fprintf(stderr, &TAIR& &) & 0)
if (fgets(buffer, CMD_MAX_LEN, stdin) == NULL) {
cmd_call this_cmd_call = parse_cmd(buffer, param);
if (this_cmd_call == NULL) {
fprintf(stderr, &unknown command.\n\n&);
if (this_cmd_call == &tair_client::do_cmd_quit) {
(this-&*this_cmd_call)(param);
is_cancel =
client_helper.close();
///////////////////////////////////////////////////////////////////////////////////////////////////
void tair_client::do_cmd_quit(VSTRING &param)
void tair_client::print_help(const char *cmd)
if (cmd == NULL || strcmp(cmd, &put&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: put key data [area] [expired]\n&
&DESCRIPTION: area
- namespace , default: 0\n&
expired- in seconds, default: 0,never expired\n&
if (cmd == NULL || strcmp(cmd, &incr&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: incr key [count] [initValue] [area]\n&
&DESCRIPTION: initValue , default: 0\n&
if (cmd == NULL || strcmp(cmd, &get&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: get key [area]\n&
if (cmd == NULL || strcmp(cmd, &mget&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: mget key1 ... keyn area\n&
if (cmd == NULL || strcmp(cmd, &remove&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: remove key [area]\n&
if (cmd == NULL || strcmp(cmd, &mremove&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: mremove key1 ... keyn area\n&
if (cmd == NULL || strcmp(cmd, &delall&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
&DESCRIPTION: get stat info&
if (cmd == NULL || strcmp(cmd, &stat&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: delall area\n&
&DESCRIPTION: delete all data of [area]&
if (cmd == NULL || strcmp(cmd, &dump&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: dump dumpinfo.txt\n&
&DESCRIPTION: dumpinfo.txt is a config file of dump,syntax:\n&
&area start_time end_time,eg:&
if (cmd == NULL || strcmp(cmd, &setstatus&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: setstatus group status\n&
&DESCRIPTION: set group to on or off\n&
&\tgroup: groupname to set, status: on/off\n&
if (cmd == NULL || strcmp(cmd, &getstatus&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: getstatus group1 group2...\n&
&DESCRIPTION: get status of group(s)\n&
&\tgroup[n]: groupnames of which to get status\n&
if (cmd == NULL || strcmp(cmd, &gettmpdownsvr&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: gettmpdownsvr group1 group2...\n&
&DESCRIPTION: get tmp down servers of group(s)\n&
&\tgroup[n]: groupnames of which to get status\n&
if (cmd == NULL || strcmp(cmd, &resetserver&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: resetserver group [ds_addr ds_addr]\n&
&DESCRIPTION: clear the all or some specified by `ds_addr down server in group, namely 'tmp_down_server' in group.conf\n&
&\tgroup: groupname to reset\n&
&\tds_addr: dataserver to reset\n&
if (cmd == NULL || strcmp(cmd, &flushmmt&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: flushmmt group [ds_addr]\n&
&DESCRIPTION: flush memtable of all tairserver or specified `ds_addr one of `group. WARNING: use this cmd carefully\n&
&\tgroup: groupname\n&
&\tds_addr: address of tairserver\n&
if (cmd == NULL || strcmp(cmd, &resetdb&) == 0) {
fprintf(stderr,
&------------------------------------------------\n&
: resetdb group [ds_addr]\n&
&DESCRIPTION: reset db of all tairserver or specified `ds_addr one of `group. WARNING: use this cmd carefully\n&
&\tgroup: groupname\n&
&\tds_addr: address of tairserver\n&
fprintf(stderr, &\n&);
void tair_client::do_cmd_help(VSTRING &param)
if (param.size() == 0U) {
print_help(NULL);
print_help(param[0]);
char *tair_client::canonical_key(char *key, char **akey, int *size)
char *pdata =
if (key_format == 1) { // java
*size = strlen(key)+2;
pdata = (char*)malloc(*size);
pdata[0] = '\0';
pdata[1] = '\4';
memcpy(pdata+2, key, strlen(key));
} else if (key_format == 2) { // raw
pdata = (char*)malloc(strlen(key)+1);
util::string_util::conv_raw_string(key, pdata, size);
*size = strlen(key)+1;
void tair_client::do_cmd_put(VSTRING &param)
if (param.size() & 2U || param.size() & 4U) {
print_help(&put&);
int area = default_
int expired = 0;
if (param.size() & 2U) area = atoi(param[2]);
if (param.size() & 3U) expired = atoi(param[3]);
char *akey = NULL;
int pkeysize = 0;
char *pkey = canonical_key(param[0], &akey, &pkeysize);
data_entry key(pkey, pkeysize, false);
data_entry data(param[1], false);
int ret = client_helper.put(area, key, data, expired, 0);
fprintf(stderr, &put: %s\n&, client_helper.get_error_msg(ret));
if (akey) free(akey);
void tair_client::do_cmd_addcount(VSTRING &param)
if (param.size() & 1U) {
print_help(&incr&);
int count = 1;
int initValue = 0;
int area = default_
if (param.size() & 1U) count = atoi(param[1]);
if (param.size() & 2U) initValue = atoi(param[2]);
if (param.size() & 3U) area = atoi(param[3]);
char *akey = NULL;
int pkeysize = 0;
char *pkey = canonical_key(param[0], &akey, &pkeysize);
data_entry key(pkey, pkeysize, false);
int retCount = 0;
int ret = client_helper.add_count(area, key, count, &retCount, initValue);
if (ret != TAIR_RETURN_SUCCESS) {
fprintf(stderr, &add failed:%d,%s.\n&, ret,client_helper.get_error_msg(ret));
fprintf(stderr, &retCount: %d\n&, retCount);
if (akey) free(akey);
void tair_client::do_cmd_get(VSTRING &param)
if (param.size() & 1U || param.size() & 2U ) {
print_help(&get&);
int area = default_
if (param.size() &= 2U) {
char *p=param[1];
if (*p == 'n') {
area |= TAIR_FLAG_NOEXP;
area |= atoi(p);
char *akey = NULL;
int pkeysize = 0;
char *pkey = canonical_key(param[0], &akey, &pkeysize);
data_entry key(pkey, pkeysize, false);
data_entry *data = NULL;
int ret = client_helper.get(area, key, data);
if (ret != TAIR_RETURN_SUCCESS) {
fprintf(stderr, &get failed: %s.\n&,client_helper.get_error_msg(ret));
} else if (data != NULL) {
char *p = util::string_util::conv_show_string(data-&get_data(), data-&get_size());
fprintf(stderr, &KEY: %s, LEN: %d\n raw data: %s, %s\n&, param[0], data-&get_size(), data-&get_data(), p);
if (akey) free(akey);
void tair_client::do_cmd_mget(VSTRING &param)
if (param.size() & 2U) {
print_help(&mget&);
int area = default_
char *p=param[param.size() -1];
if (*p == 'n') {
area |= TAIR_FLAG_NOEXP;
area |= atoi(p);
fprintf(stderr, &mget area: %d\n&, area);
vector&data_entry*&
for (int i = 0; i & static_cast&int&(param.size() - 1); ++i)
char *akey = NULL;
int pkeysize = 0;
fprintf(stderr, &mget key index: %u, key: %s\n&, i, param[i]);
char *pkey = canonical_key(param[i], &akey, &pkeysize);
data_entry* key = new data_entry(pkey, pkeysize, false);
keys.push_back(key);
if (akey) free(akey);
tair_keyvalue_
int ret = client_helper.mget(area, keys, datas);
if (ret == TAIR_RETURN_SUCCESS || ret == TAIR_RETURN_PARTIAL_SUCCESS)
tair_keyvalue_map::iterator mit = datas.begin();
for ( ; mit != datas.end(); ++mit)
char *key = util::string_util::conv_show_string(mit-&first-&get_data(), mit-&first-&get_size());
char *data = util::string_util::conv_show_string(mit-&second-&get_data(), mit-&second-&get_size());
fprintf(stderr, &KEY: %s, RAW VALUE: %s, VALUE: %s, LEN: %d\n&,
key, mit-&second-&get_data(), data, mit-&second-&get_size());
free(key);
free(data);
fprintf(stderr, &get success, ret: %d.\n&, ret);
fprintf(stderr, &get failed: %s, ret: %d.\n&, client_helper.get_error_msg(ret), ret);
vector&data_entry*&::iterator vit = keys.begin();
for ( ; vit != keys.end(); ++vit)
(*vit) = NULL;
tair_keyvalue_map::iterator kv_mit = datas.begin();
for ( ; kv_mit != datas.end(); )
data_entry* key = kv_mit-&
data_entry* value = kv_mit-&
datas.erase(kv_mit++);
key = NULL;
value = NULL;
void tair_client::do_cmd_remove(VSTRING &param)
if (param.size() & 2U) {
print_help(&mremove&);
int area = default_
if (param.size() &= 2U) area = atoi(param[1]);
char *akey = NULL;
int pkeysize = 0;
char *pkey = canonical_key(param[0], &akey, &pkeysize);
data_entry key(pkey, pkeysize, false);
int ret = client_helper.remove(area, key);
fprintf(stderr, &remove: %s.\n&, client_helper.get_error_msg(ret));
if (akey) free(akey);
void tair_client::do_cmd_mremove(VSTRING &param)
if (param.size() & 2U ) {
print_help(&mremove&);
int area = default_
char *p=param[param.size() -1];
if (*p == 'n') {
area |= TAIR_FLAG_NOEXP;
area |= atoi(p);
fprintf(stderr, &mremove area: %d\n&, area);
vector&data_entry*&
for (int i = 0; i & static_cast&int&(param.size() - 1); ++i)
char *akey = NULL;
int pkeysize = 0;
fprintf(stderr, &mremove key index: %u, key: %s\n&, i, param[i]);
char *pkey = canonical_key(param[i], &akey, &pkeysize);
data_entry* key = new data_entry(pkey, pkeysize, false);
keys.push_back(key);
if (akey) free(akey);
//todo delete key
int ret = client_helper.mdelete(area, keys);
fprintf(stderr, &mremove: %s, ret: %d\n&, client_helper.get_error_msg(ret), ret);
vector&data_entry*&::iterator vit = keys.begin();
for ( ; vit != keys.end(); ++vit)
(*vit) = NULL;
void tair_client::do_cmd_stat(VSTRING &param)
tair_client_impl* client = get_cmd_client(group_name);
tbsys::STR_STR_MAP config_
uint32_t version = 0;
int ret = client-&retrieve_server_config(false, config_map, version);
if (ret != TAIR_RETURN_SUCCESS)
log_error(&retrieve_server_config fail, ret: %d&, ret);
TairClusterType type = tair::get_cluster_type_by_config(config_map);
switch(type)
case TAIR_CLUSTER_TYPE_MULTI_CLUSTER:
do_cmd_stat_multi_cluster(config_map);
case TAIR_CLUSTER_TYPE_SINGLE_CLUSTER:
do_cmd_stat_single_cluster();
void tair_client::do_cmd_stat_multi_cluster(tbsys::STR_STR_MAP &config_map)
//get sub groups
vector&string&
get_sub_groups(config_map, groups);
if (groups.size() != 0)
vector&string&::const_
vector&string& cmd_
for (it = groups.begin(); it != groups.end(); it++)
cmd_params.push_back(*it);
vector&string&
vector&char *&
int ret = client_helper.op_cmd_to_cs(TAIR_SERVER_CMD_GET_GROUP_STATUS, &cmd_params, &status);
if (ret != TAIR_RETURN_SUCCESS)
fprintf(stderr, &get group status failed %d\n&, ret);
static const char* tair_status_on
= & group_status=on&;
static const char* tair_status_off = & group_status=off&;
//get active group stat
map&string, long& out_
map&string, long&::iterator it3;
for (size_t i = 0; i & status.size(); ++i)
fprintf(stderr, &\t%s\n&, status[i].c_str());
values.clear();
tbsys::CStringUtil::split((char *)status[i].c_str(), &:&, values);
if (values.size() == 2 && strncmp(values[1], tair_status_on, strlen(tair_status_on)) == 0)
tair_client_impl* client = get_cmd_client(values[0]);
if (client)
map&string, string& stat_
map&string, string&::const_iterator it2;
client-&query_from_configserver(request_query_info::Q_STAT_INFO, values[0], stat_info);
for (it2=stat_info.begin(); it2 != stat_info.end(); it2++)
if ((it3 = out_info.find(it2-&first)) != out_info.end())
long old_ops = it3-&
long ops = strtol(it2-&second.c_str(), NULL, 10);
it3-&second = old_ops +
long ops = strtol(it2-&second.c_str(), NULL, 10);
out_info.insert(std::pair&string, long&(it2-&first, ops));
for (it3 = out_info.begin(); it3 != out_info.end(); it3++)
//just print xxCount
if (it3-&first.find(&Count&) != std::string::npos)
fprintf(stderr, &%s:%lu\n&, it3-&first.c_str(), it3-&second);
fprintf(stderr, &no sub groups found&);
void tair_client::do_cmd_stat_single_cluster() {
map&string, string& out_
map&string, string&::
string group = group_
client_helper.query_from_configserver(request_query_info::Q_AREA_CAPACITY, group, out_info);
fprintf(stderr,&%20s %20s\n&,&area&,&quota&);
for (it=out_info.begin(); it != out_info.end(); it++) {
fprintf(stderr,&%20s %20s\n&, it-&first.c_str(), it-&second.c_str());
fprintf(stderr,&\n&);
fprintf(stderr,&%20s %20s\n&,&server&,&status&);
client_helper.query_from_configserver(request_query_info::Q_DATA_SEVER_INFO, group, out_info);
for (it=out_info.begin(); it != out_info.end(); it++) {
fprintf(stderr,&%20s %20s\n&, it-&first.c_str(), it-&second.c_str());
fprintf(stderr,&\n&);
for (it=out_info.begin(); it != out_info.end(); it++) {
map&string, string& out_info2;
map&string, string&::iterator it2;
client_helper.query_from_configserver(request_query_info::Q_STAT_INFO, group, out_info2, tbsys::CNetUtil::strToAddr(it-&first.c_str(), 0));
for (it2=out_info2.begin(); it2 != out_info2.end(); it2++) {
fprintf(stderr,&%s : %s %s\n&,it-&first.c_str(), it2-&first.c_str(), it2-&second.c_str());
map&string, string& out_info2;
map&string, string&::iterator it2;
client_helper.query_from_configserver(request_query_info::Q_STAT_INFO, group, out_info2, 0);
for (it2=out_info2.begin(); it2 != out_info2.end(); it2++) {
fprintf(stderr,&%s %s\n&, it2-&first.c_str(), it2-&second.c_str());
void tair_client::do_cmd_remove_area(VSTRING &param)
if (param.size() != 1U) {
print_help(&delall&);
int area = atoi(param[0]);
if(area & 0){
int ret = client_helper.remove_area(area);
fprintf(stderr, &removeArea: area:%d,%s\n&, area,client_helper.get_error_msg(ret));
void tair_client::do_cmd_dump_area(VSTRING &param)
if (param.size() != 1U) {
print_help(&dump&);
FILE *fp = fopen(param[0],&r&);
if (fp == NULL){
fprintf(stderr,&open file %s failed&,param[0]);
char buf[1024];
struct tm start_
struct tm end_
set&dump_meta_info& dump_
while(fgets(buf,sizeof(buf),fp) != NULL){
dump_meta_
if (sscanf(buf,&%d %4d-%2d-%2d %2d:%2d:%2d %4d-%2d-%2d %2d:%2d:%2d&,\
&info.area,\
&start_time.tm_year,&start_time.tm_mon,\
&start_time.tm_mday,&start_time.tm_hour,\
&start_time.tm_min,&start_time.tm_sec,
&end_time.tm_year,&end_time.tm_mon,\
&end_time.tm_mday,&end_time.tm_hour,\
&end_time.tm_min,&end_time.tm_sec) != 13){
fprintf(stderr,&syntax error : %s&,buf);
start_time.tm_year -= 1900;
end_time.tm_year -= 1900;
start_time.tm_mon -= 1;
end_time.tm_mon -= 1;
if (info.area & -1 || info.area &= TAIR_MAX_AREA_COUNT){
fprintf(stderr,&ilegal area&);
time_t tmp_time = -1;
if ( (tmp_time = mktime(&start_time)) == static_cast&time_t&(-1)){
fprintf(stderr,&incorrect time&);
info.start_time = static_cast&uint32_t&(tmp_time);
if ( (tmp_time = mktime(&end_time)) == static_cast&time_t&(-1)){
fprintf(stderr,&incorrect time&);
info.end_time = static_cast&uint32_t&(tmp_time);
if (info.start_time & info.end_time){
std::swap(info.start_time,info.end_time);
dump_set.insert(info);
fclose(fp);
if (dump_set.empty()){
fprintf(stderr,&what do you want to dump?&);
int ret = client_helper.dump_area(dump_set);
fprintf(stderr, &dump : %s\n&,client_helper.get_error_msg(ret));
void tair_client::do_cmd_setstatus(VSTRING &params) {
if (params.size() != 2) {
print_help(&setstatus&);
std::vector&std::string& cmd_params(params.begin(), params.end());
int ret = client_helper.op_cmd_to_cs(TAIR_SERVER_CMD_SET_GROUP_STATUS, &cmd_params, NULL);
if (ret == TAIR_RETURN_SUCCESS) {
fprintf(stderr, &successful\n&);
fprintf(stderr, &failed with %d\n&, ret);
void tair_client::do_cmd_getstatus(VSTRING &params) {
if (params.empty()) {
print_help(&getstatus&);
vector&string&
std::vector&std::string& cmd_params(params.begin(), params.end());
int ret = client_helper.op_cmd_to_cs(TAIR_SERVER_CMD_GET_GROUP_STATUS, &cmd_params, &status);
if (TAIR_RETURN_SUCCESS == ret) {
for (size_t i = 0; i & status.size(); ++i) {
fprintf(stderr, &\t%s\n&, status[i].c_str());
fprintf(stderr, &failed with %d\n&, ret);
void tair_client::do_cmd_gettmpdownsvr(VSTRING &params) {
if (params.empty()) {
print_help(&gettmpdownsvr&);
vector&string& down_
std::vector&std::string& cmd_params(params.begin(), params.end());
int ret = client_helper.op_cmd_to_cs(TAIR_SERVER_CMD_GET_TMP_DOWN_SERVER, &cmd_params, &down_servers);
if (TAIR_RETURN_SUCCESS == ret) {
for (size_t i = 0; i & down_servers.size(); ++i) {
fprintf(stderr, &\t%s\n&, down_servers[i].c_str());
fprintf(stderr, &failed with %d\n&, ret);
void tair_client::do_cmd_resetserver(VSTRING &params) {
if (params.size() & 1) {
print_help(&resetserver&);
std::vector&std::string& cmd_params(params.begin(), params.end());
int ret = client_helper.op_cmd_to_cs(TAIR_SERVER_CMD_RESET_DS, &cmd_params, NULL);
if (ret == TAIR_RETURN_SUCCESS) {
fprintf(stderr, &successful\n&);
fprintf(stderr, &failed with %d\n&, ret);
void tair_client::do_cmd_flushmmt(VSTRING &params) {
if (params.size() & 1 || params.size() & 2) {
print_help(&flushmmt&);
std::vector&std::string& cmd_
tair_client_impl* cmd_client = get_cmd_client(params[0]);
if (cmd_client == NULL) {
fprintf(stderr, &connect group %s fail\n&, params[0]);
int ret = cmd_client-&op_cmd_to_ds(TAIR_SERVER_CMD_FLUSH_MMT, params[0], NULL, NULL, params.size() & 1 ? params[1] : NULL);
if (ret == TAIR_RETURN_SUCCESS) {
fprintf(stderr, &successful\n&);
fprintf(stderr, &failed with %d\n&, ret);
void tair_client::do_cmd_resetdb(VSTRING &params) {
if (params.size() & 1 || params.size() & 2) {
print_help(&resetdb&);
std::vector&std::string& cmd_
tair_client_impl* cmd_client = get_cmd_client(params[0]);
if (cmd_client == NULL) {
fprintf(stderr, &connect group %s fail\n&, params[0]);
int ret = cmd_client-&op_cmd_to_ds(TAIR_SERVER_CMD_RESET_DB, params[0], NULL, NULL, params.size() & 1 ? params[1] : NULL);
if (ret == TAIR_RETURN_SUCCESS) {
fprintf(stderr, &successful\n&);
fprintf(stderr, &failed with %d\n&, ret);
tair_client_impl* tair_client::get_cmd_client(const char* cmd_group_name) {
if (cmd_group_name == NULL) {
return NULL;
tair_client_impl* cmd_client = NULL;
std::map&std::string, tair_client_impl*&::iterator it = cmd_client_map.find(cmd_group_name);
if (it == cmd_client_map.end()) {
cmd_client = new tair_client_impl();
cmd_client-&set_timeout(5000);
if (!cmd_client-&startup(server_addr, slave_server_addr, cmd_group_name)) {
fprintf(stderr, &startup cmd client fail. group: %s\n&, cmd_group_name);
delete cmd_
cmd_client = NULL;
cmd_client = it-&
return cmd_
} // namespace tair
/*-----------------------------------------------------------------------------
*-----------------------------------------------------------------------------*/
tair::tair_client _globalC
void sign_handler(int sig)
switch (sig) {
case SIGTERM:
case SIGINT:
_globalClient.cancel();
int main(int argc, char *argv[])
signal(SIGPIPE, SIG_IGN);
signal(SIGHUP, SIG_IGN);
signal(SIGINT, sign_handler);
signal(SIGTERM, sign_handler);
//TBSYS_LOGGER.setLogLevel(&DEBUG&);
TBSYS_LOGGER.setLogLevel(&ERROR&);
if (_globalClient.parse_cmd_line(argc, argv) == false) {
return EXIT_FAILURE;
if (_globalClient.start()) {
return EXIT_SUCCESS;
return EXIT_FAILURE;
(C)&&2013&&Alibaba&&Inc.&&All&&rights&&resvered.
Powered by
相关阅读 www.
预留广告位

我要回帖

更多关于 如何找回部落冲突账号 的文章

 

随机推荐