1.#include <afxsock.h>
2.定义CAsyncSocket类的指针
CAsyncSocket *pSocket;
3.初始化Socket
if (!AfxSocketInit())
{
AfxMessageBox("Error");//IDP_SOCKETS_INIT_FAILED
return FALSE;
}
4.初始化pSocket
pSocket = new CAsyncSocket;
pSocket->Create(1207, SOCK_DGRAM);
5.发送广播包
设置SO_BROADCAST属性为TRUE。
BOOL bBroadcast = TRUE;
pSocket->SetSockOpt(SO_BROADCAST,(char *)&bBroadcast,sizeof(BOOL));
发送:
sockaddr_in local;
int len = sizeof(local);
memset(&local, 0, len);
local.sin_family = AF_INET;
local.sin_port = htons(9371);//htons(dwPort);
local.sin_addr.s_addr = htonl(INADDR_BROADCAST);
if (pSocket->SendTo(data,32,(const SOCKADDR*)&local,len) == SOCKET_ERROR)
{
pSocket->GetLastError();
}