问题标签 [nsnetservicebrowser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
297 浏览

ios - iOS 上的 NSNetServiceBrowser 问题 - 未检测到所有更改

我认为这可能是一个 iOS 错误。

我运行以下简单代码来广播网络服务:

在另一台设备上,我运行此代码来检测网络服务:

继续发生的事情是,浏览器会在第一次出现网络服务时检测到,然后当服务消失时,大部分时间它不会检测到它,仍然认为 NSNetService 仍在广播。有趣的是,可以在两个设备上停止应用程序,并且可以启动浏览器,并且仍然会检测到旧服务当前正在广播 - 它挂起。

当服务出现和消失时,在 mac 上的终端中使用此代码正确显示:

这个问题有什么解决办法吗?这是iOS错误吗?

0 投票
2 回答
2709 浏览

ios - NSNetServiceBrowser 找不到服务

我尝试基于 CocoaEcho 示例编写客户端(iPad)/服务器(iMac)应用程序。我的第一个简单示例有效,但在添加更多功能后,客户端无法找到服务器。

启动服务器后,我在本地网络中启动客户端。客户端开始搜索服务并为其浏览器获取“netServiceBrowserWillSearch:”消息,但之后没有任何反应。再次触发对服务的搜索,会导致出现“didNotsearch:”消息,错误为 -72003, 10(浏览器仍在忙于搜索)。

1)我检查了服务器是否可以通过 WiTap 应用程序访问。客户端和服务器正确连接。

2)我检查了服务器是否使用“dns-sd -B _cocoaecho”发布服务,它被检测到。

3)客户端应用程序中的nsnetservicebrowser对象被声明为属性,所以不应该存在范围问题。我还检查了调试器,它仍然存在....

我的代码:

客户:

和服务器:

0 投票
0 回答
2580 浏览

ios - NSNetServiceBrowser 浏览所有服务类型

无论服务类型如何,如何使用 Bonjour 浏览所有服务?

NSNetServiceBrowser 可以浏览特定的服务类型 - “_music._tcp”。代码示例:

使用此代码,我可以获得所有具有“_music._tcp”服务类型的服务。为了创建服务,我正在使用Network Beacon app

但无论服务类型如何,我都需要找到所有服务。这篇文章的答案- 没有帮助。

当我使用时:

代替:

我什么都得不到。

我是初学者 iOS 编程 - 我将非常感谢您的帮助。我使用的代码来自本书第 18 章。

我的代码:BonjourViewController.m

0 投票
1 回答
88 浏览

ios - 无法通过 wifi 查看活动服务器并使用 Bonjour 和 NSNetServiceBrowserDelegate 一直连接它?

我正在开发一个使用 wifi 网络将数据从一个 ipad 传递到另一个 ipad 的应用程序。我已经提到了以下示例代码:

http://mobileorchard.com/tutorial-networking-and-bonjour-on-ip

上面的示例代码使用 wifi 连接设备,并且可以使用 Cfnetworking 和 Bonjour 交换消息。我的问题是我无法一直看到活动服务器。虽然有时它会显示活动服务器,我可以轻松连接并交换消息,但是当我在一段时间后重新启动或打开应用程序时它不会显示我活动服务器,所以我无法连接和交换消息。上面链接中提供的示例代码中也出现了同样的问题,其中包含通过 wifi 向其他设备发送数据的教程。 我被困在这里,因为无法访问这些服务器,我一直无法连接到活动设备。

在聊天示例代码中,您可以看到活动聊天室并与之连接,但有时即使有活动服务器已经启动所有设备都已连接的新聊天室,您也无法看到这些活动聊天室可用到同一个wifi网络。

任何帮助都是非常可观的,在此先感谢。

0 投票
2 回答
151 浏览

android - 我有一个在 Android 中发布的服务。如何在 iOS 中浏览它?

我们正在为 Android 和 iOS 创建一个多平台应用程序。
目前,我们有一个在 Android 中发布的服务,其中包含这些信息
类型:_http._tcp 或 _http._udp 名称:abcController 端口

现在,我想浏览 iOS 应用程序中的“abcController”服务以获取主机(ip)列表以进行连接。我正在尝试使用这些代码

但是,它只调用 netServiceBrowserWillSearch 并没有任何响应。

任何帮助都非常感谢!

0 投票
1 回答
259 浏览

nsnetservice - 如果在 iOS 7.x 中不推荐使用 NSNetService 名称方法,我如何找到服务的名称?

NSNetService 的当前文档指出,在 iOS 6.1 之后不推荐使用“名称”

既然是这种情况,我如何找到使用 NSNetServiceBrowser 发现的服务的名称?

NSNetServiceBrowser 使用 NSNetService 对象调用委托方法 didFindService:。如何正确获取它找到的服务的服务名称?

0 投票
2 回答
86 浏览

ios - 我可以从同一 wifi 网络上的另一台 iOS 设备访问 iOS 设备的 Documents 目录吗?

我开发了一个使用 Bonjour 的应用程序。每个设备都在其 Documents 目录中存储一些数据。每个设备都需要从其 Documents 目录访问彼此的数据。可能吗?

0 投票
1 回答
214 浏览

ios - 具有不同 IP 地址的对等连接

我想连接具有不同 IP 地址的设备。

例如:

设备 A 使用移动网络,设备 B 也使用移动网络。那么是否可以连接它们?如果是,如何,如果没有,为什么?

0 投票
2 回答
9304 浏览

swift - 在 Swift 应用程序上使用 NSNetService 和 NSNetServiceBrowser

我想制作一个能够发现并连接到本地网络上的对等点的应用程序,所以我决定使用 bonjour 框架快速实现它。

但是,我无法使用 Swift 让 Bonjour 工作,我不知道为什么。这是我用来测试此服务的代码:

代表是胶水代码,它简单地打印对控制台的每个调用。

这是此示例代码的输出:

如果我使用Bonjour browser,我可以看到该服务已正确发布。然而,两个代表中的回调都没有被调用,除了**WillPublish那些:-(

经过激烈的调试(并阅读了stackoverflow),我不知道为什么它不起作用。有任何想法吗 ?

(我使用的是 Mac OS X 10.9.3 和 xcode 6.0 beta build 6A215l)

0 投票
0 回答
711 浏览

swift - 为什么我不能在同一个函数中调用 searchForBrowsableDomains 和 searchForServicesOfType?

我认为 Runloop 的使用可能是有问题的。我不确定它是否与我在下面遇到的问题有关:

这是我的代码:

我发现,在discover函数中,如果我调用 searchForBrowsableDomains 或 searchForServicesOfType,我可以在委托函数中获得结果。

但是,如果我一个接一个地调用,则永远不会调用委托函数。

为什么会这样?