참고: C에서 IPv4 및 IPv6에서 호스트 이름 가져오기++
2092 단어 cpp
내 bittorrent 클라이언트 도구
IP v4의 경우
//
// copy from https://stackoverflow.com/questions/28566424/linux-networking-gethostbyaddr
//
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
struct sockaddr_in sa; /* input */
socklen_t len; /* input */
char hbuf[NI_MAXHOST];
memset(&sa, 0, sizeof(struct sockaddr_in));
/* For IPv4*/
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr("8.8.8.8");
len = sizeof(struct sockaddr_in);
if (getnameinfo((struct sockaddr *) &sa, len, hbuf, sizeof(hbuf),
NULL, 0, NI_NAMEREQD)) {
printf("could not resolve hostname\n");
}
else {
printf("host=%s\n", hbuf);
}
return 0;
}
IP v6의 경우#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
struct sockaddr_in6 sa6;
char hbuf[NI_MAXHOST];
memset(&sa6, 0, sizeof(struct sockaddr_in6));
sa6.sin6_family = AF_INET6;
in6_addr addr6;
int s = inet_pton(AF_INET6, "::1",&addr6);
sa6.sin6_addr = addr6;
int len = sizeof(struct sockaddr_in6);
if (getnameinfo((struct sockaddr *) &sa6, len, hbuf, sizeof(hbuf),
NULL, 0, NI_NAMEREQD)) {
printf("could not resolve hostname\n");
}
else {
printf("host=%s\n", hbuf);
}
return 0;
}
비밀 번호
https://github.com/kyorohiro/hello_libtorren
app/main ipv6에서 호스트를 가져옵니다.cpp
Reference
이 문제에 관하여(참고: C에서 IPv4 및 IPv6에서 호스트 이름 가져오기++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kyorohiro/memo-get-hostname-from-ipv4-and-ipv6-at-c-1i12텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)