MLGetNetworkAddressList (C 函数)

MLGetNetworkAddressList 已经被 WSGetNetworkAddressList 所取代.

char ** MLGetNetworkAddressList(MLENV env,unsigned long *n)

返回包含机器上已配置网络接口的 IP 地址的 ASCII 字符串列表和 n 中的列表长度.

更多信息

  • MLGetNetworkAddressList() 为机器上每个有源网络接口加载 IP 数字.
  • MLGetNetworkAddressList() 加载 IPv4 和 IPv6 数字.
  • MLGetNetworkAddressList() 分配内存以便存储必须释放的地址. 为释放由 MLGetNetworkAddressList() 分配的内存,可调用由 MLGetNetworkAddressList() 返回的列表中的 MLReleaseNetworkAddressList().
  • 如果 MLGetNetworkAddressList() 失败,则返回 NULL.
  • 在 MathLink 的标头文件 mathlink.h 中声明 MLGetNetworkAddressList().

范例

基本范例  (1)

#include "mathlink.h"

/* A function that reads the IP addresses available on a machine */

void f(MLENV env)
{
    char **theList = NULL;
    char *tmp;
    unsigned long length;

    theList = MLGetNetworkAddressList(env, &length);

    if(length > 0 && theList != (char **)0)
    {
        while((tmp = *theList++) != (char *)0)
        {
            /* ... */
        }

        MLReleaseNetworkAddressList(env, theList, length);
    }
}