#include<stdlib.h>#include<stdio.h>
#include<conio.h>
#include<winsock.h>
#include<windows.h>#pragma comment(lib,"Wsock32.lib")
main()
{
SOCKET s;
sockaddr_in addrto;
WSADATA wsdata;
BOOL bsocket;
char *smsg="this is a test";
//启动SOCKET库,版本为1.0
WSAStartup(0x0101,&wsdata);

s=socket(AF_INET,SOCK_DGRAM,0);
if(s == SOCKET_ERROR)
{
printf("create socket error!");
// return FALSE;
}
bsocket=TRUE;
    //然后赋值给地址,用来从网络上的广播地址接收消息;
addrto.sin_family=AF_INET;
    addrto.sin_addr.s_addr=INADDR_BROADCAST;
addrto.sin_port=htons(5050);
bind(s,(sockaddr*)&addrto,sizeof(addrto));
bool opt=true;
//设置该套接字为广播类型,
setsockopt(s,SOL_SOCKET,SO_BROADCAST,(char FAR *)&opt,sizeof(bool));
int nlen=sizeof(addrto);
while(1)
{
Sleep(1000);
//从广播地址发送消息
int ret=sendto(s,smsg,256,0,(sockaddr*)&addrto,nlen);
if(ret==SOCKET_ERROR)
{
DWORD dw = WSAGetLastError();
printf("%d\n",dw);
}
else
{
printf("ok\n");
}
}
}