//---------------->这是解析包的代码
for(i=57;i<500;i++) //57-72
{
if (num>3)
break;
if(Buf[i]==0x20)
bAdd=false;
if(bAdd)
{
str.Format("%c",Buf[i]);
if(Buf[i]>=' ')
strHost+=str; str.Format("%02x.",Buf[i]);
strHex+=str;
} if((++tem)%18==0)
{
bAdd=true;
strHost.TrimRight((char)NULL);
if(strHost=="")
{
strMac.Delete(17,strMac.GetLength()-17);
m_ListView.SetItem(index,4,LVIF_TEXT,strMac, 0, 0, 0,0); //MAC地址
num++;
break;
}
if(num==0&&strHost!="")
{
m_ListView.SetItem(index,2,LVIF_TEXT,strHost, 0, 0, 0,0); //机器名
Host=strHost;
num++;
}
else
{
if(Host!=strHost && num==1&& strHost!="")
{
m_ListView.SetItem(index,1,LVIF_TEXT,strHost, 0, 0, 0,0); //工作组名
Group=strHost;
num++;
}
else
{
if(strHost!=Host&&strHost!=Group&&num==2&&strHost!="")
{
User=strHost;
if(User!="__MSBROWSE__")
{
m_ListView.SetItem(index,3,LVIF_TEXT,User, 0, 0, 0,0);
num++;
}
}
} }
strMac=strHex;
strHost="";
strHex="";
}
}
解决方案 »
- vs2008 speechSDK51的问题。
- 对于一个UDPsocket,是否可以一个线程接受消息,一个线程发送消息
- 为什么会tcp传输的时候出现PUSH标志?
- 请教如何声明一个结构指针?
- 程序运行时, CStatic控件用SetWindowText(IDC_STATIC1, "a\nb")后的文字是单行的,如后才能做成换行的?
- 如何自己做像RichTextBox 那样的控件?最好给份源代码,谢谢,我需要改装一下
- 帮个忙,朋友们,怎样使CSliderCtrl控件的背景透明
- 有谁知道有没有办法暂停一个线程的运行?
- 关于文件读写的问题,会者不难
- 欢迎老鸟们进来看看:有关位图的缩放
- 如何在string或者字符数组末尾添加个换行符
- 系统的快捷菜单,怎么跟应用程序联系
在线程里面试用CSocket会报错,如果放在主线程里面,界面又卡得要死。而且Socket自带的OnReceive()也会时不时地出那个错误。ASSERT()。恼火