我对DNSServiceRegister具有以下声明:
function DNSServiceRegister
(
var sdRef: TDNSServiceRef;
const flags: TDNSServiceFlags;
const interfaceIndex: uint32_t;
const name: PUTF8String; //* may be NULL */
const regType: PUTF8String;
const domain: PUTF8String; //* may be NULL */
const host: PUTF8String; //* may be NULL */
const port: uint16_t;
const txtLen: uint16_t;
const txtRecord: Pointer; //* may be NULL */
const callBack: TDNSServiceRegisterReply; //* may be NULL */
const context: Pointer //* may be NULL */
): TDNSServiceErrorType; stdcall; external DNSSD_DLL;
Run Code Online (Sandbox Code Playgroud)
在我的Bonjour框架中,对于已启用的已宣布服务(即实际上开始通过Bonjour宣布自身),我有以下响应:
procedure TAnnouncedService.Activate;
var
flags: …Run Code Online (Sandbox Code Playgroud) 今天下午我正在观看wwdc视频,我听到了Bonjour这个词.
所以我只想知道Apple中的Bonjour是什么.
这只是为了清除这个概念.
谢谢
我在另一个物理网络上的另一个远程系统上有一个服务,它的多播包没有到我的本地系统,因此我看不到它的DNS-SD发布服务.
我有办法在本地机器上手动注册它,以便只显示DNS-SD发现服务的应用程序显示它吗?
2005 年由 Stuart Cheshire 和 Daniel H. Steinberg撰写的《零配置网络 - 明确指南》一书描述了一个dns-sd命令行测试工具,它应该可用于 macOS、Windows 和 Linux。在第 6 章(第 92 页)的开头,他描述了该工具,但它不是关于如何下载和安装它的明确指南,只是可以从 Darwin 开源存储库中获得。
该工具提供诸如dns-sd -B浏览服务实例之类的命令。
我是 Windows 和 Linux 用户,但在找到该工具时遇到问题。我的 Windows 系统上已经安装了 Bonjour,但我不清楚这是否足够,或者我是否需要明确下载该工具。当我dns-sd在 windows 命令行上输入时,它说这个命令是未知的。如何使其可用?
我将Bonjour与NSNetService结合使用,以从iPhone发布服务器。一切正常,我可以浏览正在服务的页面等。但是,在iPhone上,我想显示主机名(即URL,例如“ myDevice.local。”),以便也可以输入在浏览器中手动寻址(对于缺少bonjour发现服务的客户端很有用)。我的理解是,调用方法[myNetService hostName]应该给我该地址。但是,此调用始终返回nil。我在某个论坛上读到我首先应该解析该服务,但是[myNetService resolve]和[myNetService resolveWithTimeout:10]都调用了委托方法
- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict;
Run Code Online (Sandbox Code Playgroud)
与错误
{
NSNetServicesErrorCode = -72003;
NSNetServicesErrorDomain = 10;
}
Run Code Online (Sandbox Code Playgroud)
这显然意味着它已经解决。同样,所有这些都在我可以使用该服务时发生。我也可以获取端口,域和服务类型。唯一奇怪的是,调用[myNetService地址]返回一个空数组。
我正在使用SDK 3.1.3。有人知道我会做错什么吗?
我正在四处寻找合适的技术来实现我想要的应用程序。基本上我使用蓝牙通过 2 个 iOS 设备建立连接。在通信的第一部分中,我只发送消息,一切正常。在第二部分中,我想允许用户共享视频文件;例如,假设视频文件为 20 MB。现在,通过两台设备传输如此大数据的最佳选择是什么?我可以使用 GameKit 并将数据拆分为小数据包吗?需要合理的时间吗?或者最好使用 Bonjour 并等待,直到用户位于同一 wifi 网络下或通过 2 台设备创建 wifi 网络?
提前致谢
如何在iOS中发送和接收网络MIDI数据?我能够使用bonjour解析服务器并将服务应用于MIDI连接,但我不知道从那里去哪里.文档似乎缺乏,网上的信息也不多.
我想制作一个能够发现并连接到本地网络上的对等点的应用程序,因此我决定使用 bonjour 框架快速实现它。
但是,我无法使用 Swift 让 Bonjour 工作,而且我不明白为什么。这是我用来测试该服务的代码:
import Foundation
let BM_DOMAIN = "local"
let BM_TYPE = "_helloworld._tcp."
let BM_NAME = "hello"
let BM_PORT : CInt = 6543
/// Netservice
let nsns = NSNetService(domain: BM_DOMAIN,
type: BM_TYPE, name: BM_NAME, port: BM_PORT)
let nsnsdel = BMNSDelegate() //see bellow
nsns.delegate = nsnsdel
nsns.publish()
/// Net service browser.
let nsb = NSNetServiceBrowser()
let nsbdel = BMBrowserDelegate() //see bellow
nsb.delegate = nsbdel
nsb.searchForServicesOfType(BM_TYPE, inDomain: BM_DOMAIN)
println("press enter")
// this prevents the app from quitting …Run Code Online (Sandbox Code Playgroud) 我正在从教程网站http://www.ralfebert.de/tutorials/ios-swift-multipeer-connectivity/上了解iOS的Multipeer Connectivity框架。
提供的示例对于理解该概念非常有用,在该概念中,设备仅具有视图,并且附近的设备可以更改其颜色。
我的问题是,一次可以连接到可用服务的设备(iPhone)的数量是否受到限制?如果在蓝牙上?请告知,这将有所帮助。
我要连接的服务是通过 Bonjour 发布的。
我可以使用 Bonjour 浏览器找到所有信息,但是如果我尝试以编程方式收集数据,我得到的唯一值就是服务的名称。
设置 NetService 委托并调用函数 netServiceWillPublish。不执行 DidNotPublish 或 DidPublish 函数。
函数 netServiceBrowser 获取所有已发布的 netService,但所有属性都设置为数据类型的默认值。
import UIKit
class BMNSDelegate : NSObject, NetServiceDelegate {
func netServiceWillPublish(_ sender: NetService) {
print("netServiceWillPublish:\(sender)"); //This method is called
}
func netService(_ sender: NetService, didNotPublish errorDict: [String : NSNumber]){
print("didNotPublish:\(sender)");
}
func netServiceDidPublish(_ sender: NetService) {
print("netServiceDidPublish:\(sender)");
}
func netServiceWillResolve(_ sender: NetService) {
print("netServiceWillResolve:\(sender)");
}
func netService(_ sender: NetService, didNotResolve errorDict: [String : NSNumber]) {
print("netServiceDidNotResolve:\(sender)");
}
func netServiceDidResolveAddress(_ sender: NetService) {
print("netServiceDidResolve:\(sender)"); …Run Code Online (Sandbox Code Playgroud) bonjour ×10
ios ×3
nsnetservice ×3
dns-sd ×2
iphone ×2
objective-c ×2
swift ×2
zeroconf ×2
avahi ×1
bluetooth ×1
conceptual ×1
coremidi ×1
delphi ×1
delphi-2009 ×1
gamekit ×1
hostname ×1
mdns ×1
midi ×1
networking ×1
swift3 ×1