草庐IT

NSNetService

全部标签

ios - 如何列出本地 WiFi/LAN 网络上的所有共享设备?

我想列出我在我的设备上使用的网络上可用的所有共享设备名称。这样我就可以知道谁在使用同一个互联网网络。谷歌搜索后我发现使用Bonjor我可以做到。我使用NSNetService类通过使用方法“initWithDomain:type:name:port:”创建类NSNetService的实例来发现可用网络在其参数域中:@""对于Bonjor的零配置,键入:"_Bonjor._tcp."name:@""动态分配,port:0自动分配。有了这些参数,它会发现设备,但只会发现那些使用相同应用程序的设备,我认为这是因为服务类型。但是我没有得到我提供这个方法的服务名称,所以它给我使用相同网络的所有设

ios - NSNetService initWithDomain 使用本地 IP 地址?

我正在编写一个应用程序,该应用程序具有在2部iPhone之间传输图像的功能。我正在使用Apple提供的大部分示例代码来创建网络流(https://developer.apple.com/library/IOS/samplecode/SimpleNetworkStreams/Introduction/Intro.html)。我的问题是我是否需要在下面的行中传递另一个iphone的本地IP地址而不是“本地”:self.netService=[[NSNetServicealloc]initWithDomain:@"local."type:@"_x-SNSDownload._tcp."name

ios - NSNetService 是否仅适用于 .local 域?

我有一个代码CocoaHTTPServer它使用Bonjour发布服务。而tt为此使用NSNetService。如果您定义域“.local”,它工作正常(在OSX和iOS上)。但是,如果您定义任何其他内容,它不会发布服务,也不会调用未发布服务器的委托(delegate)。我对此进行了调查并发现了以下信息。文档来自NSNetServiceclass:ThisclassandtheNSNetServiceBrowserclassusemulticastDNStoconveyinformationaboutnetworkservicestoandfromyourapplication.文档来

ios - NSNetServiceBrowser 找不到服务

我尝试基于CocoaEcho示例编写客户端(iPad)/服务器(iMac)应用程序。我的第一个简单示例有效,但在添加更多功能后,客户端无法找到服务器。启动服务器后,我在本地网络中启动客户端。客户端开始搜索服务并为其浏览器获取“netServiceBrowserWillSearch:”消息,但此后什么也没有发生。再次触发搜索服务,导致出现错误为-72003,10的“didNotsearch:”消息(浏览器仍在忙于搜索)。1)我检查了服务器是否可以通过WiTap应用访问。客户端和服务器正确连接。2)我检查了服务器是否使用“dns-sd-B_cocoaecho”发布服务,它被检测到。3)客户

objective-c - NSNetService 工作正常,但无法获取主机名,解析导致错误

我正在使用Bonjour和NSNetService从我的iPhone发布服务器。一切都按预期工作,我可以浏览我正在服务的页面等。但是,在iPhone上,我想显示主机名(即URL,如“myDevice.local”),以便也可以输入在浏览器中手动地址(对于缺少bonjour发现服务的客户端很有用)。我的理解是调用方法[myNetServicehostName]应该给我那个地址。但是,此调用始终返回nil。我在一些论坛上读到我首先应该解析服务,但是[myNetServiceresolve]和[myNetServiceresolveWithTimeout:10]都调用委托(delegate)

ios - NSNetService/Bonjour 发现仅适用于 iPhone 模拟器

我正在开发一个需要基本客户端/服务器交互模型的iPhone应用程序。为此,我将使用Bonjour和NSNetService,以及NSNetServiceBrowser来发现同一网络上的其他人。我遵循了几个不同的指南,它们或多或少具有相同的示例代码。相关服务器代码...serverName=[[UIDevicecurrentDevice]name];netService=[[NSNetServicealloc]initWithDomain:@"local."type:@"_myservice._tcp."name:serverNameport:port];...服务发布成功,即我得到了n

iphone - 在网络上找不到 iOS/Mac Bonjour 服务

我有一个发布Bonjour服务的iOS应用程序。在我的网络上,Mac应用程序可以识别该服务并且一切运行顺利。但是,在某些网络上,Bonjour服务不会被Mac“看到”。我无法在自己的网络上重现此内容。我让用户使用Bonjour浏览器检查服务,但没有找到。有没有办法进一步诊断这个问题?我认为这可能是防火墙/路由器问题,但有些用户使用非常简单的基于Apple的网络(机场)。关于可能导致此问题的任何想法? 最佳答案 你试过实现-(void)netService:(NSNetService*)senderdidNotPublish:(NSD

ios - 连接后立即断开与服务器的连接

我已经使用GCDAsyncsocket库编写了一个单例类,以使用Bonjour与具有相同服务的任何其他设备建立连接。在一台设备上,我正在使用它的方法“startPublishing”使其成为主机(服务器),从另一台设备(客户端)上的应用程序我调用“StartBrowsing"以找出网络中可用的设备。当用户选择该网络中的任何服务时,我将调用方法“initConnectionWithService”,该方法通过解析要连接的NetService地址来启动连接流。BonjourUtilClass.h@interfaceBonjourUtilClass:NSObject{NSNetService

ios - iOS 7 上使用 NSNetService 的蓝牙点对点连接

我正在尝试让ObjectiveC++分布式对象模型在iOS和OSX设备之间工作。使用WiFi,几乎一切正常;然而,在iOS7中,Apple引入了“includesPeerToPeer”属性,该属性应该使用Blutooth通过Bonjour发布NSNetService。我这样设置属性:self.netService.includesPeerToPeer=YES;打电话之前[self.netServicepublish];这适用于MAC和任何运行iOS7的iOS设备(假定MAC和设备之前已配对)。但是,这些设备不会通过蓝牙发现自己。我想知道,是我遗漏了什么还是任何人有胶水,为什么这不起作用

ios - Swift 3 如何解析 NetService IP?

只是在swift3中尝试Bonjour这是我的代码,我可以接收委托(delegate)funcnetServiceDidResolveAddress(_sender:NetService){print("netServiceDidResolveAddressservicename\(sender.name)oftype\(sender.type),"+"port\(sender.port),addresses\(sender.addresses)")}这是我的结果netServiceDidResolveAddressservicenameWebber'sMacminioftype_my
12