今天89级pal死掉了

博主在暗黑HC模式游戏中,已有三个角色死亡。此次89级角色因服务器Ping值高莫名死亡,此前为该角色向人要装备,重练装备也没了。博主觉得HC模式痛苦,想转玩Std模式,可能因玩久了对暗黑有些腻了。
在Stormwind玩暗黑,这一段一直在玩HC模式。
死过两个人,一个10级,一个35级,都无所谓的事情,级别低,死掉很快就再练一个。
但是今天死掉的pal不同。
原先在Std,我也练过BH Pal,但当时并没有怎么在意。
Std玩腻了,来玩HC,人穷呀,什么都没有,现在也没有了原先MF的心,装备都是基本的。
想练个BH来K3C,是否运气好能弄点高级神符。
本来我一向不习惯张口和别人要东西,但这次不同,BH没有装备不行,所以特地破例向别人要来了Shako、SJD、雷神,装备起来很不错,K3C还是很轻松的,前两天还花点力气去KB,不过运气不好,一直没出什么好东西。
这个Pal我还是比较照顾的,好的生命sc和MF sc都在身上,生命1726,40%防护,本来应该算比较安全。
这几天可能因为我一直没有关机,暴风城本身的服务器Ping也比较高,400+,和往常一样,去K3C,结果莫明挂掉了,现在我还没有明白怎么死的。
这是第三个死亡的Char,89级,即使重练,装备也没了。
想去玩Std了,HC太痛苦,Std这些都是基础装备,我的库存配上3、4个char不成问题,即使没有,用神符也可以轻易买到,HC就像死水一样,啥都不能做。
不过今天死了不知道为什么,一点感觉都没有,也许暗黑玩的时间久了,有些腻了吧。
// 读数据线程 if(pthread_create(&t_id1, NULL, fwcli_stdinToMaster, (void*)&slave_sock)) { printf("pthread_create error"); close(slave_sock); return ERROR; } // 写数据线程 if(pthread_create(&t_id2, NULL, fwcli_outputToSlave, (void*)&slave_sock)) { printf("pthread_create error"); close(slave_sock); return ERROR; } pthread_detach(t_id1); pthread_detach(t_id2); DBG_ALZ("pal_thread_create---tFakeConsole end"); //sleep(150); done: return rv; } /*! *\fn fwcli_stdinToMaster *\brief 监听标准输入信息(键盘,STDIN)并传输到master *\details socket为通信媒介 *\param[in] arg socke的地址 *\return *\retval *\ *\note * */ static void *fwcli_stdinToMaster(void * arg) { int sockfd = *((int *)arg); char serial; sbyte4 timeout = 1; OS_FDSET_T readFds; STATUS rc = OK; int sendLen; pal_sleep(20); /* 延迟20秒传输,处理write失败的情况 */ DBG_ZSZ("fwcli_stdinToMaster------sockfd:%d",sockfd); // /* 设置slave端的读取为非阻塞 */ // if ((flags = fcntl(sockfd, F_GETFL, 0)) < 0) // { // DBG_ZSZ("F_GETFL error"); // //goto done; // } // // 设置文件描述符为非阻塞模式 // flags |= O_NONBLOCK; // if (fcntl(sockfd, F_SETFL, flags) < 0) // { // DBG_ZSZ("F_SETFL error"); // //goto done; // } /* 持续监听stdin */ while(1) { printf("input q to stop\n"); pal_mutex_take(mtx_fakeConsole, pal_mutex_FOREVER); if(FALSE == bUseFakeConsole) /* 每次循环都检查bUseFakeConsol的值,如果为False那么线程结束,tFakeConsole结束*/ { printf("FALSE\n"); pal_mutex_give(mtx_fakeConsole);/* 停止使用fakeConsole*/ break; /* 立即结束监听 */ } pal_mutex_give(mtx_fakeConsole); // wmnetSocketGroupClear (&readFds); /* 不能放置于循环外 */ // wmnetSocketGroupAddTo (STDIN_FILENO, &readFds); // // /* 设置读取方式为阻塞,直到在STDIN_FILENO套接字STDIN上有一些活动 */ // rc = wmnetSocketGroupWait(&readFds, timeout); // if (ERROR_GENERAL_TIMEOUT == rc) // { // continue; // } // if (OK != rc) // { // continue; // } // 读取stdin printf("befor read.\n"); if(read(STDIN_FILENO, &serial, 1) < 0) { DBG_ALZ("stdin read error."); break; } printf("end read.\n"); // 测试代码 printf("input: %c\n",serial); if('q' == serial || 'Q' == serial) { break; } // 发送数据 pal_mutex_take(mtx_slaveSendInput, pal_mutex_FOREVER); if((sendLen = write(sockfd,&serial,sizeof(serial))) < 0) { DBG_ALZ("\n write char error.\nconnect sock error.\n reopen tConsole."); pal_mutex_give(mtx_slaveSendInput); pal_mutex_take(mtx_fakeConsole,pal_mutex_FOREVER); bUseFakeConsole = FALSE; pal_mutex_give(mtx_fakeConsole); /* 停止使用fakeConsole*/ break; /* 立即结束监听 */ } pal_mutex_give(mtx_slaveSendInput); printf("sendLen=%d, send:%c\n",sendLen,serial); } close(sockfd); fwcli__stopUseFakeConsole(); return NULL; } /* 读取master 输出的数据*/ static void *fwcli_outputToSlave(void * arg) { int sockfd = *((int *)arg); int readLen; char read_msg[1024]; // 读取数据,读取到的数据要显示在stdout上-------------------------- while(1) { pal_mutex_take(mtx_fakeConsole, pal_mutex_FOREVER); if(FALSE == bUseFakeConsole) /* 每次循环都检查bUseFakeConsol的值,如果为False那么线程结束,tFakeConsole结束*/ { printf("FALSE\n"); pal_mutex_give(mtx_fakeConsole);/* 停止使用fakeConsole*/ break; /* 立即结束监听 */ } pal_mutex_give(mtx_fakeConsole); readLen = read(sockfd,read_msg,sizeof(read_msg)); read_msg[readLen] = '\0'; printf("readLen=%d\n %s\n",readLen,read_msg); } return NULL; } 这样构建的读写分离clien有什么问题
最新发布
10-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值