我正在使用 JmDNS 注冊(cè)服務(wù)并希望在 iOS 上發(fā)現(xiàn)它。我可以使用 JmDNS 客戶端發(fā)現(xiàn)該服務(wù),也可以發(fā)現(xiàn)網(wǎng)絡(luò)上的其他幾個(gè)服務(wù)。問題是我無(wú)法在 iOS 應(yīng)用程序中發(fā)現(xiàn)我的服務(wù),但我確實(shí)看到了大量其他服務(wù),但沒有在 JmDNS 客戶端中看到。我一直在使用網(wǎng)絡(luò)瀏覽器 iOS 應(yīng)用程序進(jìn)行測(cè)試,它可以看到許多其他服務(wù),但我的 JmDNS 客戶端看不到任何服務(wù)。兩批找到的服務(wù)最明顯的區(qū)別是iOS應(yīng)用程序找到的所有服務(wù)都是name._tcp.local的形式。 JmDNS客戶端查到的都是name._http._tcp.local。我顯然缺少 ZeroConfig 的一些關(guān)鍵方面,因?yàn)槲蚁M谖易约旱牡胤揭约熬W(wǎng)絡(luò)上的所有其他地方看到相同的服務(wù)。我嘗試將 name._http._tcp 更改為 name._tcp,似乎所做的就是做到這一點(diǎn),這樣我就無(wú)法在任何地方發(fā)現(xiàn) JnDNS 服務(wù)。我也嘗試過(guò)各種命名組合。public final static String REMOTE_TYPE = "_http._tcp.local.";final HashMap<String, String> values = new HashMap<String, String>();values.put("DvNm", "Sample-" + id);ServiceInfo pairservice = ServiceInfo.create(REMOTE_TYPE, "sample", 1025, 0, 0, values);jmdns.registerService(pairservice);我希望在我自己的地方以及網(wǎng)絡(luò)上的所有其他地方都能看到相同的服務(wù)。
1 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
我仍在挖掘,但我確實(shí)找到了最完整的 Bonjour 瀏覽器,可以解決該問題,并可以看到我在不同平臺(tái)上單獨(dú)看到的所有不同服務(wù)。我原本期望看到基于單個(gè)請(qǐng)求的所有內(nèi)容,但該瀏覽器發(fā)出大量請(qǐng)求來(lái)完成工作。 Flame瀏覽器可以從Apple應(yīng)用程序商店獲取,但幸運(yùn)的是,代碼也可以在GitHub上獲取。它寫得很好并且很容易理解,所以如果您遇到這個(gè)問題,請(qǐng)檢查一下。
https://github.com/tominsam/flametouch
添加回答
舉報(bào)
0/150
提交
取消