簡體   English   中英

如何在 Mac OS X 上使用 Obj C 在 LAN 上獲取所有可用的主機名和相關的 IP 地址?

[英]How to get all available hostnames and associated IP addresses on LAN using Obj C on Mac OS X?

我需要獲取所有連接到 LAN 的機器的 IP 地址列表。 我創建了一個 NSHost object 並用它來獲取當前主機的地址,它工作正常。 但我需要獲取網絡上所有其他主機的地址。 任何有用的答案都將是可觀的。 提前致謝。

我的片段:

NSHost* host = [NSHost currentHost];
NSString* myIPAddress = [NSString stringWithFormat:
                                  [[host addresses] objectAtIndex:1]];

執行此操作將 myIPAddress 設為 192.168.1.202,這是正確的。

這不一定是可知的,取決於與其他主機的勾結。 您可能會考慮確定您的廣播地址(例如 192.168.1.255),發送 ICMP 回顯請求,然后枚舉響應:但是不響應請求的系統不會出現。 當使用對任何其他請求的響應時,類似的問題也很明顯:端口掃描或 mDNS 注冊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM