"UDP\n");
break;
default:
printf("unknow:%d\n",piphd->proto);
}
}
return 1;
}
void main()
{
//初始化sock
WSADATA wsa;
int i=0;
DWORD dwtid;
char chname[128];
hostent *host;
WSAStartup(MAKEWORD(2,1),&wsa);
gethostname(chname,sizeof(chname));
host=gethostbyname(chname);
while(host->h_addr_list[i]!=NULL)//取所有网卡序号,为每个网卡开启一个监听线程
{
phostlist[i]=(char *)malloc(16);
sprintf(phostlist[i],"%s",inet_ntoa(*(struct in_addr *)host->h_addr_list[i]));
printf("Bind to %s\n",phostlist[i]);
CreateThread(NULL,0,listen,phostlist[i],0,&dwtid);
i++;
}
for(;;)//为每个网卡创建监听线程后要用一个循环防止主线程退出
{
Sleep(10);
}
}