Socket的位址查詢函式

2021-04-13 14:11:41 字數 905 閱讀 3759

socket的位址查詢函式有很多, 分為主機(host), 網路(net), 協議(proto)和服務(serv), 這些函式完成各種位址查詢功能. posix.1定義了兩個新的函式: getaddrinfo和getnameinfo, 前者把主機名字和服務名字對映到乙個位址, 後者將位址轉換成主機名或伺服器名.

這些函式返回的網路配置資訊可能存放在許多地方. 它們可以儲存在靜態檔案中(如/etc/hosts, /etc/services等), 或者可以由命名伺服器(如dns, nis).

1. 主機資訊查詢:

struct

hostent

struct

netent

struct

protoent

struct

servent

struct

addrinfo

... ;

getaddrinfo函式返回乙個該結構的鍊錶, 我們可以看到該結構中含有乙個next成員, 這些鍊錶結點在不用之後, 都需要用freeaddrinfo來逐個釋放.

addrinfo結構中的ai_flags有以下幾種值:

如果getaddrinfo失敗, 不能使用perror或strerror來生成錯誤資訊, 應該使用gai_strerror將返回的錯誤碼轉換成錯誤資訊:

6. getnameinfo函式:

char *restrict host, socklen_t hostlen,

char *restrict service, socklen_t servlen,

unsigned int flags);

說明: 如果host或service非空, 它(們)將指向洋長度問該len位元組的緩衝區用於儲存返回的名. 如果為空則不返回該名.

Socket的位址查詢

socket的位址查詢函式有很多,分為主機 host 網路 net 協議 proto 和服務 serv 這些函式完成各種位址查詢功能.posix.1定義了兩個新的函式 getaddrinfo和getnameinfo,前者把主機名字和服務名字對映到乙個位址,後者將位址轉換成主機名或伺服器名.這些函式返...

socket位址說明及轉換函式

1.三種常見結構型別 在套接字程式設計程式設計中,有三種常見的結構型別,它們用來存放socket位址資訊。這三種結構型別分別為struct in addr struct sockaddr struct sockaddr in,對這三種結構型別說明如下。struct in addr 函式原型 stru...

socket 的位址結構

在建立socket通訊的過程中位址起著很關鍵的作用,在設計tcp ip網路程式時,必須對 socket 的位址結構有清晰的認識。tcp ip 的位址資料結構。struct sockaddr struct in addr struct sockaddr in 網路位元組順序是tcp ip中規定好的一種...