创建套接字:         
         int Sockfd;
sockaddr_in hostip;
Sockfd=socket(AF_INET,SOCK_DGRAM,0);
if(Sockfd==INVALID_SOCKET){
AfxMessageBox("创建套接口失败!");
}
hostip.sin_family=AF_INET;
hostip.sin_addr.s_addr=INADDR_ANY;
hostip.sin_port=htons(12180);
bool optval=TRUE;
setsockopt(Sockfd,SOL_SOCKET,SO_REUSEADDR,(char FAR *)&optval,sizeof(optval));
if(bind(Sockfd,(struct sockaddr *)&hostip,sizeof(hostip))==SOCKET_ERROR){
AfxMessageBox("主机绑定错误!");
}
if(setsockopt(Sockfd,SOL_SOCKET,SO_BROADCAST,(char FAR *)&optval,sizeof(optval))==SOCKET_ERROR){
AfxMessageBox("广播通信设置产生错误!");
}
发送消息:
         sockaddr_in destip;
int state;
destip.sin_family=AF_INET;
destip.sin_addr.s_addr=INADDR_BROADCAST;
destip.sin_port=htons(12181);
if(state=sendto(sock,(char *)buffer,buffersize,0,(struct sockaddr *)&destip,sizeof(destip))==SOCKET_ERROR){
AfxMessageBox("数据发送失败");
}
接收消息:
int state;
         sockaddr *sa;
         int salen;
         char buffer[15];
         int buffersize;
         buffersize=15;
if(state=recvfrom(sock,(char *)buffer,buffersize,0,sa,&salen)==SOCKET_ERROR){
AfxMessageBox("数据接收失败");
}
关闭套接字:
closesocket(sock);