⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mylistsocketblock.cpp

📁 组播网络程序测试,对于学习组播技术有帮助
💻 CPP
字号:
//#include "stdafx.h"
#include "mylistsocketblock.h"
void AddBlockInBlockList(pListSocketBlock pBlockList,pSocketBlock pBlock_)
{ 
	ListSocketBlock::iterator itr;
     pSocketBlock pBlock; 
	 int nSize,i;
	 if(( nSize=pBlockList->size())==0)
	 { pBlock=new SocketBlock;
	  // TRACE("new list\n");
	   memcpy(pBlock,pBlock_,sizeof(SocketBlock));
	   pBlockList->push_front(pBlock);
	   return;
	 }
	

     for(i=0,itr=pBlockList->begin();itr!=pBlockList->end();itr++,i++)
	 { //TRACE("cindex=%d\n",(*itr)->dwBlockIndex);
	   if((*itr)->ALIASBLOCKINDEX==pBlock_->ALIASBLOCKINDEX)
		   return;
       if((*itr)->ALIASBLOCKINDEX>pBlock_->ALIASBLOCKINDEX)
	   { pBlock=new SocketBlock;
	     //TRACE("inest\n");
	     memcpy(pBlock,pBlock_,sizeof(SocketBlock));
		 pBlockList->insert(itr,pBlock);
		  return;
	   }
     }
	 if(i==nSize){
	     pBlock=new SocketBlock;
	    // TRACE("inest\n");
	     memcpy(pBlock,pBlock_,sizeof(SocketBlock));
         pBlockList->push_back(pBlock);
	 } 
}

void FreeBlockList(pListSocketBlock pBlockList)
{  	ListSocketBlock::iterator itr;
    for(itr=pBlockList->begin();itr!=pBlockList->end();itr++)
   		delete (*itr);
  
    pBlockList->clear();
}


bool PopHeaderBlock(pListSocketBlock pBlockList,pSocketBlock pBlock_,
					int nValidSize)
{ if(pBlockList->size()<nValidSize)
    return false;
 
   ListSocketBlock::iterator itr;
   itr=pBlockList->begin();
   memcpy(pBlock_,(*itr),sizeof(SocketBlock));
   delete (*itr); 
  
  pBlockList->pop_front();
   
   
   return true;
 
}
void ShowSocketList(pListSocketBlock pBlockList)
{ 	ListSocketBlock::iterator itr;
    itr=pBlockList->begin();
	for(; itr!=pBlockList->end(); itr++)
			{   TRACE("out blindex=%d\n",(*itr)->ALIASBLOCKINDEX);
				
							}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -