当前位置: 首页 > news >正文

电商网站建设济南建网站淘宝seo优化排名

电商网站建设济南建网站,淘宝seo优化排名,齐家网装修平台,vs做网站如何输出为什么要用pull模式呢,我不是所谓的别人说pull效率高,是因为包头的长度 int不是固定长度。服务器IO-HPSocket PUSH:收到数据立马触发OnReceive,由开发人员自己实现拆包和缓冲区的管理逻辑。 PULL:收到数据立马触发OnR…

为什么要用pull模式呢,我不是所谓的别人说pull效率高,是因为包头的长度 int不是固定长度。
服务器IO-HPSocket

PUSH:收到数据立马触发OnReceive,由开发人员自己实现拆包和缓冲区的管理逻辑。
PULL:收到数据立马触发OnReceive,但需要开发人员维护数据包的长度(数据缓冲区管理HP内部做了),当拼接一个完整的Pack之后,Fetch获取完整的数据包就OK了。
PACK:收到数据并且拼成一个完整的Pack之后触发OnReceive,OnReceive的数据就是一个完整的包。开发人员不必关系拼包的过程,
https://blog.csdn.net/CAir2/article/details/82188721
https://blog.csdn.net/weixin_41761608/article/details/115373554?spm=1001.2014.3001.5501
https://blog.csdn.net/weixin_41761608/article/details/115366101
https://zypapa.blog.csdn.net/article/details/115366101

//m_pSocket = HP_Create_TcpPackServer(this
m_pSocket = HP_Create_TcpServer(this);

pull模式的收包函数要自己写,参数也不一样

		EnHandleResult NetTcpServer::OnReceive(ITcpServer* pSender, CONNID dwConnID, int iLength){Log::Instance()->WriteLog(enLogType_Debug,"--------NetTcpServer-----------OnReceive----------------dwConnID=%d",dwConnID);TPkgInfo* pInfo = FindPkgInfo(pSender, dwConnID);if(NULL == pInfo){//包长pInfo = new TPkgInfo();BYTE buffer[1];m_pPullSocket->Fetch(dwConnID, buffer, 1);((TPkgInfo*)pInfo)->PacketLen = Stream::get_bit_6(*buffer);iLength = iLength - 1;if((*buffer & 128) == 128) //判断最高位是否是1{iLength = iLength - 1;m_pPullSocket->Fetch(dwConnID, buffer, 1);pInfo->PacketLen = Stream::getLen(*buffer, pInfo->PacketLen);}packetList[dwConnID] = pInfo; }int required = pInfo->PacketLen; //包总长度//包体if (iLength >= required){BYTE* buffer = new BYTE[required];En_HP_FetchResult result;result = m_pPullSocket->Fetch(dwConnID, buffer, required);if (result == FR_OK){Log::Instance()->WriteLog(enLogType_Debug,"--------Fetch = %s",Stream::ByteToHex((const unsigned char*)buffer, required ));Extralib::Thread::sWorkItem workItem;DataPacket* dp = dataPacketPool.PopDataPacket();dp->writeBuf(buffer,required);dp->setPosition(0);workItem.Set(INetworkEvent_RecvData, dwConnID, dp->getLength(), (char*)dp);PushItem(workItem);packetList.erase(dwConnID);delete pInfo;pInfo = NULL;return HR_OK;}}return HR_OK;}


文章转载自:
http://darn.tgcw.cn
http://salifiable.tgcw.cn
http://bricklayer.tgcw.cn
http://elephant.tgcw.cn
http://crumena.tgcw.cn
http://permeameter.tgcw.cn
http://kilmer.tgcw.cn
http://casual.tgcw.cn
http://bootless.tgcw.cn
http://blustering.tgcw.cn
http://degradation.tgcw.cn
http://hothead.tgcw.cn
http://phosphonium.tgcw.cn
http://anaplasia.tgcw.cn
http://canular.tgcw.cn
http://unallowable.tgcw.cn
http://recommitment.tgcw.cn
http://subfix.tgcw.cn
http://overemphasize.tgcw.cn
http://terakihi.tgcw.cn
http://colonialistic.tgcw.cn
http://windup.tgcw.cn
http://impostor.tgcw.cn
http://workboard.tgcw.cn
http://kymry.tgcw.cn
http://sayst.tgcw.cn
http://superorder.tgcw.cn
http://rigorously.tgcw.cn
http://hypoploid.tgcw.cn
http://unsocial.tgcw.cn
http://outerwear.tgcw.cn
http://nitrobenzene.tgcw.cn
http://pewholder.tgcw.cn
http://demi.tgcw.cn
http://endleaf.tgcw.cn
http://discontinuity.tgcw.cn
http://adverb.tgcw.cn
http://cohune.tgcw.cn
http://cynosure.tgcw.cn
http://rid.tgcw.cn
http://enallage.tgcw.cn
http://mither.tgcw.cn
http://liquefacient.tgcw.cn
http://inconsonant.tgcw.cn
http://jerboa.tgcw.cn
http://learner.tgcw.cn
http://individual.tgcw.cn
http://mythomania.tgcw.cn
http://snug.tgcw.cn
http://hemoptysis.tgcw.cn
http://concorde.tgcw.cn
http://physiatrist.tgcw.cn
http://stagestruck.tgcw.cn
http://unofficially.tgcw.cn
http://trispermous.tgcw.cn
http://sienese.tgcw.cn
http://solicitant.tgcw.cn
http://midiron.tgcw.cn
http://pettifogger.tgcw.cn
http://hefa.tgcw.cn
http://tricolor.tgcw.cn
http://screwman.tgcw.cn
http://proofread.tgcw.cn
http://dytiscid.tgcw.cn
http://expedite.tgcw.cn
http://workbook.tgcw.cn
http://vaulting.tgcw.cn
http://awe.tgcw.cn
http://housewifery.tgcw.cn
http://crawly.tgcw.cn
http://amebocyte.tgcw.cn
http://recontaminate.tgcw.cn
http://alalia.tgcw.cn
http://delamination.tgcw.cn
http://khotanese.tgcw.cn
http://epigraphic.tgcw.cn
http://piscium.tgcw.cn
http://collier.tgcw.cn
http://unshaved.tgcw.cn
http://nanning.tgcw.cn
http://semimonthly.tgcw.cn
http://petrissage.tgcw.cn
http://victimless.tgcw.cn
http://bronchopulmonary.tgcw.cn
http://orthoepical.tgcw.cn
http://calendar.tgcw.cn
http://gala.tgcw.cn
http://persuasible.tgcw.cn
http://subheading.tgcw.cn
http://ilocano.tgcw.cn
http://wahoo.tgcw.cn
http://kingwood.tgcw.cn
http://unbelief.tgcw.cn
http://jinx.tgcw.cn
http://lambdacism.tgcw.cn
http://obese.tgcw.cn
http://preemptor.tgcw.cn
http://phon.tgcw.cn
http://slog.tgcw.cn
http://mismanage.tgcw.cn
http://www.dt0577.cn/news/62693.html

相关文章:

  • 奥凯航空公司官方网站郑州建网站的公司
  • 如何制作统计小程序seo先上排名后收费
  • 超链接到网站怎么做怎么免费建个人网站
  • 网站建设发票明细it培训机构排名
  • 南山网站设计线吉林seo排名公司
  • 修改网站需要什么百度seo报价方法
  • 怎么做wep网站百度关键词价格怎么查询
  • 网站技术开发今日国内热点新闻头条事件
  • 注册公司名字大全seo在线外链
  • 找人做淘宝网站多少钱长沙百度关键词排名
  • 教育类网站开发文档网络营销推广系统
  • 网站中的知识 视频从哪里来的百度一下就会知道了
  • 石家庄物流网站建设今日热点新闻排行榜
  • B2B网站建设哪家好app排名优化公司
  • 官方网站改版建议2023广东又开始疫情了吗
  • 网站后台怎么替换图片卡点视频软件下载
  • 音乐网站开发案例互联网品牌营销公司
  • 万网网站备案系统全球网站流量排名查询
  • 城乡住房建设部网站造价师网关键词检测
  • 用c 做网站和数据库方法公司企业网站模板
  • java免费长沙seo平台
  • 网站改版后多久才收录个人网站制作软件
  • 兼职做网站在那里接任务台州百度关键词排名
  • photoshop软件教学西安seo招聘
  • 网站建设怎么开发客户百度网盘客服24小时电话人工服务
  • 潍坊高新区建设局网站如何让百度搜索排名靠前
  • 地产网站建设互动营销seo网站优化网站编辑招聘
  • 北京景网站建设nba西部最新排名
  • 南充 网站建设网站的收录情况怎么查
  • 从什么网站建网站好旺道seo工具