這是一個我沒有完全理解的語句。瞭解一個C socket指令
serv_addr.sin_addr.s_addr = ((struct in_addr*)(hp->h_addr)) -> s_addr;
這是否意味着:
- 我把
hp
成hp->h_addr
- 這一切
struct in_addr*
類型的h_addr
- 類型轉換已經被複制到
s_addr
因此serv_addr.sin_addr.s_addr包含選擇主機的主機名和ip地址。
這是正確的嗎?
(PS:惠普是struct hostent *hp ; hp=gethostbyname(argv[1]);
)
'gethostbyname()'已被棄用,您可以考慮使用'getaddrinfo()'來代替。 – alk
我知道,我讀過這個,但我需要一個簡單的實現,所以我會在(近)未來:)學習getaddrinfo(它更復雜):) – polslinux