为什么下面这段代码运行的时候只打印main中的信息,而不打印线程函数中的信息#include "stdafx.h"
#include "winsock2.h"
#include "windows.h"#pragma comment(lib,"ws2_32.lib")DWORD WINAPI ReceiveThread_Two(void* pData)
{
WSADATA wsaData;
WSAStartup(0x0202,&wsaData);
struct sockaddr_in ClientAddr;
struct sockaddr_in ServerAddr;

ClientAddr.sin_family = AF_INET;
ClientAddr.sin_addr.s_addr = htonl(INADDR_ANY);
ClientAddr.sin_port = htons(2000); int iAddrLen = sizeof(ClientAddr);
SOCKET sockHdl = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
int iRet = bind(sockHdl,(struct sockaddr*)&ClientAddr,iAddrLen);
if (iRet != 0)
{
perror("Client Socket Bind Error");
} while (1)
{
char BufTemp[100] = {0};
memset(BufTemp,0x00,sizeof(BufTemp));
int iRet = recvfrom(sockHdl,BufTemp,sizeof(BufTemp),0,(struct sockaddr*)&ServerAddr,&iAddrLen);
printf("2000:%s\n",BufTemp);
Sleep(500);
}

return 0;

}
int main(int argc, char* argv[])
{
DWORD dwThreadID = 0;
int iAddrLen = 0;
char BufTemp[100] = {0};
WSADATA wsaData;
WSAStartup(0x0202,&wsaData);
struct sockaddr_in ClientAddr_II;
struct sockaddr_in ServerAddr;

ClientAddr_II.sin_family = AF_INET;
ClientAddr_II.sin_addr.s_addr = htonl(INADDR_ANY);
ClientAddr_II.sin_port = htons(4000);

SOCKET sockHdl_II = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
int iRet = bind(sockHdl_II,(struct sockaddr*)&ClientAddr_II,iAddrLen); CreateThread(NULL,0,ReceiveThread_Two,NULL,0,&dwThreadID);

while (1)
{
memset(BufTemp,0x00,sizeof(BufTemp));
iRet = recvfrom(sockHdl_II,BufTemp,sizeof(BufTemp),0,(struct sockaddr*)&ServerAddr,&iAddrLen);
printf("4000:%s\n",BufTemp);
Sleep(500);
}

return 0;

}