2013-10-22 35 views
4

我以前GCDAsyncUdpSocket發送udp文來發現ssdp服務,iOS報道「無路由到達主機」這個錯誤,但上面可以發現在模擬器上沒有問題在服務中,這是怎麼發生的?我搜查了很多信息,但沒有任何發現可以幫助我。「無路由到達主機」錯誤iOS上

+0

我的解決方案有幫助嗎?你還有麻煩嗎? – LawfulEvil

+0

您是否解決了這個問題? –

回答

1

我遇到了同樣的事情。當然,如果沒有你的源代碼,我們不能幫助你,除了提供模糊的猜測。我希望你現在已經修復了這個問題,如果你回想起實際存在的問題,請告訴我們。

檢查事項:

  1. 防火牆設置在主機上。我試圖在我的Mac書上接收消息,發現防火牆設置可能會阻止您選擇的端口。防火牆在第三個選項卡上處於系統首選項下。

  2. 使用蘋果可達性類來確保你有一個活躍的WIFI/Cell連接到互聯網。 (這裏:https://developer.apple.com/library/ios/samplecode/Reachability/Listings/Reachability_Reachability_h.html#//apple_ref/doc/uid/DTS40007324-Reachability_Reachability_h-DontLinkElementID_7

  3. 您還可以使用Reachability類中的其他函數來讓您知道在打開套接字之前是否可以訪問主機。

  4. 如果主機是您的mac,模擬器在mac上,那麼實際的網絡流量並不多,然後當您在手機上運行時,您實際上正在使用真正的網絡。請注意,根據您的網絡情況,您可能需要您的主機的外部IP地址(相對於內部網絡WIFI地址,例如192.168.1.4)

  5. 有些人報告了一個UDP停止工作的錯誤,沒有路由到主機消息,但由於某種原因打開和關閉飛行模式修復它。也許可以查看他們的解決方案(使用保持活動消息30秒左右以防止電源管理關閉電池連接)。這裏是一個例子:intermittent "No Route to Host" on iOS, flight mode off then on fixes

+0

第五個解決方案在我們的案例中做到了。正在'沒有通往主辦方的路線'和'主機倒閉'。從來沒有見過這個,相當莫名其妙。任何想法是什麼導致它開始? – lundhjem

相關問題