18,358
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
#define PACKAGE_LEN 1024
typedef struct _Package
{
char chData[PACKAGE_LEN];
int nLen;
SOCKADDR_IN addr;
}Package;
int nAnalysed = 0;
do
{
nAnalysed = m_DataAnalysis.AnalyseDevice( pack.chData, pack.addr );
pack.nLen -= nAnalysed;
if( pack.nLen > 0 )
{
::memmove( pack.chData, pack.chData + nAnalysed, PACKAGE_LEN - nAnalysed );
}
else if( pack.nLen < 0 )
{
TRACE(_T("\n处理设备的数据比收到的数据多!"));
}
}while( pack.nLen > 0 );