请问如何实现一有UDP包到来就进行接受,谢谢~
同问可否在一个线程里面创建另外一个线程 !谢谢!
同问可否在一个线程里面创建另外一个线程 !谢谢!
解决方案 »
- 如何字符叠加到视频上。
- [求助]VC6.0 fatal error
- ADO从数据库中获取单个值
- 求助:各位大哥怎么把内存映射为文件,谢谢!
- 图像的像素提取
- 在一个工作线程中用PeekMessage建立循环接受消息,请问它的参数是用PM_NOREMOVE还是PM_REMOVE呢?
- 请问如何去除txt文件里的所有非中文字符(包括英文和符号)
- 在OnInitDialog()中怎样调用有参数的函数?
- 文章和网站推荐
- 大侠救命!!(release版本程序运行的问题)
- 急求!!如何在两个Dialog类之间传递值!!在线等待!!
- COM原理与应用中第五章的例子Mfc实现的 COM 加了两个BEGIN_INTERFACE_PART后出现问题???
客户端:
SOCKET socket1; InitWinsock();
struct sockaddr_in server;
int len =sizeof(server);
server.sin_family=AF_INET;
server.sin_port=htons(1000); ///server的监听端口
server.sin_addr.s_addr=inet_addr("192.168.1.101"); ///server的地址 socket1=socket(AF_INET,SOCK_DGRAM,0);
while (1)
{ char buffer[1024]="\0";
printf("input message\n");
scanf("%s",buffer);
if (strcmp(buffer,"bye")==0)
break;
if (sendto(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&server,len)!=SOCKET_ERROR)
{
if (recvfrom(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&server,&len)!=SOCKET_ERROR)
printf("rece from server:%s\n",buffer);
}
}
closesocket(socket1);
服务器端:
SOCKET socket1; InitWinsock();
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(1000); ///监听端口
local.sin_addr.s_addr=INADDR_ANY; ///本机 socket1=socket(AF_INET,SOCK_DGRAM,0); bind(socket1,(struct sockaddr*)&local,sizeof local); while (1)
{
char buffer[1024]="\0";
printf("waiting for message from others-------------\n");
if (recvfrom(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
printf("Received datagram from %s--%s\n",inet_ntoa(from.sin_addr),buffer);
////给cilent发信息
sendto(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,fromlen); }
Sleep(500);
} closesocket(socket1);
BOOL InitWinsock()
{
int Error;
WORD VersionRequested;
WSADATA WsaData;
VersionRequested=MAKEWORD(2,2);
Error=WSAStartup(VersionRequested,&WsaData); //启动WinSock2
if(Error!=0)
{
return FALSE;
}
else
{
if(LOBYTE(WsaData.wVersion)!=2||HIBYTE(WsaData.wHighVersion)!=2)
{
WSACleanup();
return FALSE;
}
}
return TRUE;
其它线程是否可以处于活动状态。以前有过一次就是cpu一直处于百分百,不停的访问端口