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 的位址結構
在建立socket通訊的過程中位址起著很關鍵的作用,在設計tcp ip網路程式時,必須對 socket 的位址結構有清晰的認識。tcp ip 的位址資料結構。struct sockaddr struct in addr struct sockaddr in 網路位元組順序是tcp ip中規定好的一種...
socket 的位址結構
在建立socket通訊的過程中位址起著很關鍵的作用,在設計tcp ip網路程式時,必須對 socket 的位址結構有清晰的認識。tcp ip 的位址資料結構。struct sockaddr u short safamily 位址族,af char sa data 14 14位元組的特定協議位址 st...