VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 763|回复: 8

关于ipv6的问题(急)

[复制链接]

4

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-5 12:00:02 | 显示全部楼层 |阅读模式
现在如里一个字符串(ipv6的地址),请问如何才能转换成Icmp6SendEcho2中需要的struct sockaddr_in6* DestinationAddress这个结构~~

大家快帮忙呀!!给我写些代码。
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-5-22 18:00:01 | 显示全部楼层
#include <netdb.h>

int getaddrinfo (const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result) ;



struct addrinfo {
   int          ai_flags;           /* AI_PASSIVE, AI_CANONNAME */
   int          ai_family;          /* AF_xxx */
   int          ai_socktype;        /* SOCK_xxx */
   int          ai_protocol;        /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
   socklen_t    ai_addrlen;         /* length of ai_addr */
   char        *ai_canonname;       /* ptr to canonical name for host */
   struct sockaddr    *ai_addr;     /* ptr to socket address structure */
   struct addrinfo    *ai_next;     /* ptr to next structure in linked list */
};

struct sockaddr_in6 {
  uint8_t         sin6_len;      /* length of this struct (28) */
  sa_family_t     sin6_family;   /* AF_INET6 */
  in_port_t       sin6_port;     /* transport layer port# */
                                 /* network byte ordered */
  uint32_t        sin6_flowinfo; /* flow information, undefined */
  struct in6_addr sin6_addr;     /* IPv6 address */
                                 /* network byte ordered */
  uint32_t        sin6_scope_id; /* set of interfaces for a scope */
};

回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-5-22 20:45:01 | 显示全部楼层
(((struct sockaddr_in6 *)ai->ai_addr)->sin6_addr)
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-5-23 11:00:01 | 显示全部楼层
struct addrinfo hints,*result;
getaddrinfo("ipv6字符串",端口號或服務名,&hints, &result);
轉換的結果就在(((struct sockaddr_in6 *)result->ai_addr)->sin6_addr)
回复

使用道具 举报

4

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-5-28 00:15:01 | 显示全部楼层
请问orangedj(甩拉,甩拉),端口號或服務名是指谁的端口號或服務名?发送者的还是接受者的!
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-6-10 20:15:01 | 显示全部楼层
自然是服務器端的
回复

使用道具 举报

4

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-6-23 13:30:01 | 显示全部楼层
如果端口號或服務名我写0的话代表什么意思?可以吗
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-6-28 08:30:01 | 显示全部楼层
你是客户端么?不知道需要连接的服务名或端口号么?
回复

使用道具 举报

4

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-7-8 23:45:01 | 显示全部楼层
不知道呀!!

我是监视远程的计算机,这个所谓的端口号是指那个端口号?

我现在转换成ipv6就是为了要发ping命令,这个端口号要写接受ping命令的端口号吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表