Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 谁能建议一下';需要进行更改,使其与IPV6兼容。它在IPV4中工作正常 int lookup\u numeric(常量字符*主机名,字符*ip地址) { int指数=0; int值=0; for(const char*cursor=hostname;;++cursor) { if(('0'=IpAddressSize)//IpAddressSize对于IPV6是16,对于IPV4是4。 打破 ip_地址[索引++]=(字符)值; 数值=0; } 如果(*游标=='\0',则为else { 如果(索引!=IpAddressSize-1) 打破 ip_地址[索引]=(字符)值; 返回1; } 其他的 打破 } 返回0; }_Sockets_Ipv6 - Fatal编程技术网

Sockets 谁能建议一下';需要进行更改,使其与IPV6兼容。它在IPV4中工作正常 int lookup\u numeric(常量字符*主机名,字符*ip地址) { int指数=0; int值=0; for(const char*cursor=hostname;;++cursor) { if(('0'=IpAddressSize)//IpAddressSize对于IPV6是16,对于IPV4是4。 打破 ip_地址[索引++]=(字符)值; 数值=0; } 如果(*游标=='\0',则为else { 如果(索引!=IpAddressSize-1) 打破 ip_地址[索引]=(字符)值; 返回1; } 其他的 打破 } 返回0; }

Sockets 谁能建议一下';需要进行更改,使其与IPV6兼容。它在IPV4中工作正常 int lookup\u numeric(常量字符*主机名,字符*ip地址) { int指数=0; int值=0; for(const char*cursor=hostname;;++cursor) { if(('0'=IpAddressSize)//IpAddressSize对于IPV6是16,对于IPV4是4。 打破 ip_地址[索引++]=(字符)值; 数值=0; } 如果(*游标=='\0',则为else { 如果(索引!=IpAddressSize-1) 打破 ip_地址[索引]=(字符)值; 返回1; } 其他的 打破 } 返回0; },sockets,ipv6,Sockets,Ipv6,该函数似乎采用IPv4地址的文本表示形式(例如“127.0.0.1”),并将其转换为字节数组 你真的不应该手工做这类事情,在我看来,你最好使用平台上可能提供的功能。该函数似乎采用IPv4地址的文本表示形式(例如“127.0.0.1”)并将其转换为字节数组 你真的不应该手工做这类事情,在我看来,你最好使用你平台上可能提供的功能。如果IPv4的“运行良好”,那么你肯定必须知道它是做什么的。如果你不知道它是做什么的,你怎么知道“运行良好”?@Len…实际上是用地址写的"127.0.0.1"然后将其填入

该函数似乎采用IPv4地址的文本表示形式(例如“127.0.0.1”),并将其转换为字节数组


你真的不应该手工做这类事情,在我看来,你最好使用平台上可能提供的功能。

该函数似乎采用IPv4地址的文本表示形式(例如“127.0.0.1”)并将其转换为字节数组


你真的不应该手工做这类事情,在我看来,你最好使用你平台上可能提供的功能。

如果IPv4的“运行良好”,那么你肯定必须知道它是做什么的。如果你不知道它是做什么的,你怎么知道“运行良好”?@Len…实际上是用地址写的"127.0.0.1"然后将其填入ip_地址数组中。但我应该如何实现IPV6?这是我的疑问。我建议您更改问题的标题……基本上是这样吗?如果IPv4的“它运行良好”,那么您肯定必须知道它的功能。如果您不知道它的功能,您如何知道“它运行良好”?@Len……实际上它正在使用IPv4电子地址说“127.0.0.1”并将其填入ip_地址数组中。但我该如何实现IPV6?这是我的疑问。我建议您更改问题的标题……基本上是这样吗?我完全同意。O.P.只是在重新发明轮子。聪明的程序员可能足够聪明,可以编写类似上述的代码。但聪明的程序员会知道答案re已经是完成这项工作的标准函数。非常同意。O.P.只是在重新发明轮子。一个聪明的程序员可能足够聪明,可以编写类似上述的代码。但是一个聪明的程序员会知道已经有一个标准函数来完成这项工作。
int lookup_numeric( const char * hostname, char * ip_address )
{
    int index = 0;
    int value = 0;

    for( const char * cursor = hostname; ; ++cursor )
    {
    if( ( '0' <= *cursor ) && ( *cursor <= '9' ) )
    {
        value *= 10;
        value += *cursor - '0';
        if( value > 255 )
        break;
    }
    else if( *cursor == '.' )
    {
        if( index >= IpAddressSize ) //IpAddressSize is 16 for IPV6 and 4 for IPV4.
        break;
        ip_address[ index++ ] = (char)value;
        value = 0;
    }
    else if( *cursor == '\0' )
    {
        if( index != IpAddressSize - 1 )
        break;
        ip_address[ index ] = (char)value;
        return 1;
    }
    else
        break;
    }
    return 0;
}