我花了整整一天在我的Mac和iPhone之間創建一個系統,我使用cocoaasyncsocket在我的Mac上創建一個偵聽服務器,客戶端在我的iPhone上。基本的想法是在計算機啓動時將應用程序保留在Mac上運行,然後當我希望從iPhone應用程序傳輸數據時,啓動它連接的應用程序併發送數據...我的系統正常工作我希望它的功能如何,但我有1個問題,我一直試圖解決總共約4小時!檢查專用網絡的本地設備打開的某個端口(iPhone/Objective C)
我想創建一些東西,用我的無線網絡掃描我的無線網絡,監聽器正在運行...我認爲這很簡單,但我錯了。我已經搜索了高和低,沒有運氣的情況下,我使用的是最後的手段stackoverflow。
我目前的計劃是通過檢索iPhone的內部IP(即192.168.1.94)來「自動掃描」,然後用它來確定網絡上的其他IP(192.168.1.0-254),現在我知道什麼IP的掃描我可以循環通過每一個,並檢查,看端口是否打開/我得到一個迴應。
現在,我想這樣做盡可能快,但是我一直沒能得到任何東西給我準確的結果...
在cocoaasyncsocket使用connectToAddress:error:
將只是簡單地返回true爲每一個255個不同的IP地址,所以我會遇到任何其他可達性功能......我讀過這是因爲他們只檢查連接是否已經完成,不關心另一端發生了什麼,所以我需要考慮其他事情。
我能想到的唯一的其他解決方案是可能ping每個內部IP,看看我是否得到一個響應,但我不知道如果這將花費太多的時間必須通過255個IP地址。 ..然後,一旦我得到什麼IP的活動,我仍然必須檢查,看端口是否打開莫名其妙:/
如果任何人在這裏知道如何做可以或有任何更好的想法我可以檢查對於開放端口(我不擅長網絡)我會非常感激。
感謝您的閱讀,
利亞姆
您好,感謝您的回覆......我應該提到,我計劃在將來創建一個窗口監聽器,並且沒有關注bonjour,因爲我不確定我是否可以在windows上使用它。 ..我仍然會看看它,無論如何,謝謝 – liamnichols
IIRC有一個bonjour版本的Windows,(我已經看到它在蘋果窗口更新),但我不知道他們是如何分配來源 –
感謝您的信息..我認爲有Windows的.net SDK,所以我明天看看它。 – liamnichols