"INADDR_BROADCAST"

来源:互联网 发布:2016网络热点事件 编辑:程序博客网 时间:2024/06/05 17:50
BOOL LoadLoginSocket(HWND hwnd,char *name,char *number)
{

WSADATA wsaData;
SOCKADDR_IN sin,saUdpServ;
BOOL fBroadcast=TRUE;
int nSize;
char buffer[100];
int ncount=0;
if(WSAStartup(MAKEWORD(1,1),&wsaData)!=0)
{
printf("error 1\n");
return 0;
}
sLoginClient=socket(AF_INET,SOCK_DGRAM,0);
setsockopt(sLoginClient,SOL_SOCKET,SO_BROADCAST,(CHAR *)&fBroadcast,sizeof(BOOL));

sin.sin_family=AF_INET;
sin.sin_port=htons(0);
sin.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sLoginClient,(SOCKADDR *)&sin,sizeof(sin))!=0)
{
printf("error 2 \n");
return 0;
}
saUdpServ.sin_family=AF_INET;
saUdpServ.sin_addr.s_addr=htonl(INADDR_BROADCAST);
saUdpServ.sin_port=htons(5678);
nSize=sizeof(SOCKADDR_IN);

print_ip();
sprintf(buffer,"%s;%s;%s;",name,number,Address);
sendto(sLoginClient,buffer,strlen(buffer),0,
(SOCKADDR *)&saUdpServ,sizeof(SOCKADDR_IN));
return TRUE;
}
0 0