我记得是有一个这样的函数,记不清了。以太网本身就是广播的。如果要编程的话,只需设定socket的几个参数。用setsockopt函数,设置SO_BROADCAST,就可以了。

解决方案 »

  1.   

    WSAStartup
    gethostname
    gethostbyname
      

  2.   

    去看《Windows Sockets网络程序设计大全》,清华大学出版社出的。里面有你想要的答案。
      

  3.   

    //如下函数取由 caIP指定的机器的IP
    //caIP  如为空则取本机的
    //如为某台机 如 "server","www.163.net" 则在其中返回相应的IP
    BOOL GetIP(LPSTR caIP)
    {
    LPHOSTENT lpHost;
    struct    sockaddr_in saDest;
    // Lookup host
    memset(&saDest,0,sizeof(sockaddr_in));
    lpHost = gethostbyname(caIP);
    if (lpHost == NULL)
    {
               return FALSE;
    }
    // Setup destination socket address
    saDest.sin_addr.s_addr = *((u_long FAR *) (lpHost->h_addr));
    strcpy(caIP,inet_ntoa(saDest.sin_addr));
    return TRUE;
    }
    调用:
    WSAStartup(...);
    TCHAR caBuf[256]={0};
    GetIP(caBuf);//caBuf中返回本机的
    strcpy(caBuf,"www.163.net");
    GetIP(caBuf);//caBuf中返回返回的是163.net的IP。
    WSACleanup();