使用C#为NSNetService分配IP地址
使用 _testService = new NSNetService("_airplay._tcp.local.", "_testservice._tcp", "Test Service", 7000); _testService.Published += delegate (object sender, EventArgs e) { NSNetService ns = sender as NSNetService; Console.WriteLine("Bonjour published service '{0}'", ns.Name); }; _testService.WillPublish += delegate (object sender, EventArgs e) { NSNetService ns = sender as NSNetService; Console.WriteLine("Bonjour will publish service '{0}'", ns.Nam
18 2024-04-26
编程技术问答社区
如何从网络服务中获得ip地址
当我得到网络服务对象时,我尝试做: NSNetService *ss=[netArray objectAtIndex:indexPath.row]; ss.delegate=self; [ss resolveWithTimeout:3.0]; 在代表方法上: -(void)netServiceDidResolveAddress:(NSNetService *)sender { NSArray *address=sender.addresses; NSData *addressData=[NSData dataWithBytes:address length:sizeof(address)]; /* How? */ } 谢谢. 解决方案 // Sent when addresses are resolved - (void)netServiceDidResolveAddress:(NSNetService *)netService
10 2023-12-19
编程技术问答社区
在WiFi上的NSNetService,而不是蓝牙
我有2个iOS设备和一个启动或连接到nsnetservice的应用程序. 两种设备都已经打开蓝牙后,将通过蓝牙接口自动完成数据流. 我不想要那个,我希望这两个设备都可以通过wifi进行通信.有没有办法强制NSNETSERVICE在WiFi上进行通信? 谢谢 解决方案 我不认为有,我没有查看文档,但是我知道很多游戏建议禁用蓝牙并确保为本地多人游戏启用WiFi.
16 2023-12-18
编程技术问答社区
如何在iPhone应用程序上通过WiFi连接多个同伴?
我有一个iOS(iPhone)应用程序的想法,该应用程序需要连接到几个同行.我将代码基于当我的应用程序启动每个对等时,创建单独的套接字(CFSocket)并通过nsnetservice class发布.在尤其是实例nsnetservicebrowser类中,可以找到可用的对等.并在tableview中显示他们的名字.当我在表查看中选择"相应的对等地址"解决时,已建立的连接和发送接收数据的数据已成功. 但我的意图是,我想在表观视图中选择多个行(多个peer).并解决了选定的同行地址.为此,我将选定的同行信息存储到NSMutableArray.当我单击(触摸)发送按钮时,我想解析选定的设备地址并将数据发送给选定的对等.为此我做了这个代码 for(int k=0;k
4 2023-12-04
编程技术问答社区
如何在没有互联网的情况下从多个设备通信到单个设备
我想将来自多个Apple手表的数据发送到没有Internet连接的单个iPhone.蓝牙不是一个不错的选择,因为数量有限的设备可以在时间和低范围内加入.下一个选择是什么? 解决方案 Bonjour 是Apple的实现零配置网络(Zeroconf),这是一组技术,其中包括服务发现,地址分配和主机名分辨率. Bonjour可以使用多播域名系统(MDNS)服务记录等设备等设备,例如打印机,其他计算机以及这些设备在本地网络上提供的服务.该软件内置于Apple的MacOS和iOS操作系统. Bonjour也可以安装到运行Microsoft Windows的计算机上. Bonjour组件也可能包含在其他软件中,例如iTunes和Safari. bonjour 是可以自动发现设备,因此您将拥有一个服务发布者(将接收信息的设备)和订户(将发送信息的设备) bonjour,也称为零配置网络,启用 自动在本地网络上自动发现设备和服务 行业标准IP协议. Bonjour使发现很容易, 以精
10 2023-11-27
编程技术问答社区
swift的Bonjour服务浏览器不提供ServiceInfo
我要连接的服务是通过Bonjour发布的. 我可以使用Bonjour浏览器找到所有信息,但是,如果我尝试以编程方式收集数据,那么我获得的唯一值是服务的名称. 已设置NetService委托,并调用函数NetServiceWillPublish. 这些函数没有执行. 函数NetServiceBrowser获取所有发布的NetServices,但所有属性都设置为Datatype的默认值. import UIKit class BMNSDelegate : NSObject, NetServiceDelegate { func netServiceWillPublish(_ sender: NetService) { print("netServiceWillPublish:\(sender)"); //This method is called } func netService(_ sender: NetService,
18 2023-10-10
编程技术问答社区
Swift 3 如何解决NetService IP?
只是在Swift 3 中尝试Bonjour 这是我的代码,我可以接收委托 func netServiceDidResolveAddress(_ sender: NetService) { print("netServiceDidResolveAddress service name \(sender.name) of type \(sender.type)," + "port \(sender.port), addresses \(sender.addresses)") } 这是我的结果 netservicedidresolveaddress服务名称Webber的Mac Mini类型 _myapp._tcp.,端口5678,地址可选([[]) C0A80205是IP I寻找=> 192.168.2.5 ,地址是[数据],苹果说 服务的地址.这是NSDATA实例的NSArray, 每个都包含一个适合与 连接(2).如果
16 2023-10-10
编程技术问答社区
NSNetService发布了,但 didAcceptConnectionWithInputStream...从未被调用
我一直在尝试在iOS上制作一个简单的应用程序,该应用程序将收到消息,然后根据该消息执行操作(目前我只想通过NSLog显示).我可以连接到服务,但是该服务似乎从未收到任何东西.这是我的.h文件: #import #import @interface PalServiceController : NSObject @property (nonatomic, strong) NSNetService *ns; @property (nonatomic, strong) NSOutputStream *ostream; - (void)start; + (int)getPort; - (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode; @end 和我的.m: #
26 2023-09-06
编程技术问答社区
使用NSNetService类与windows计算机上共享的文件夹建立SMB tcp ip连接
我一直在试图找出一种使用iPhone访问Windows共享文件夹的方法.所需的功能是我正在构建的大型企业应用的一部分.这是一个已经问了一个类似问题但没有运气的人 - iOS是否支持通过SMB支持文件操作? 现在,我发现了Apple开发人员教程,称为" SimpleNetworkStreams "使用NSNETSERVICE通过将NSNETSERVICE实例的类型设置为协议x-SNSUpload._tcp ,使用NSNETSERVICE使用X-SNSUPLOAD协议. 这是他们完成的方式 - self.netService = [[[NSNetService alloc] initWithDomain:@"local." type:@"_x-SNSUpload._tcp." name:@"Test"] autorelease]; 因此,如果我只是用_x-SNSUpload._tcp替换_x-SNSUpload._tcp并在MacBook上运行SMB服务器.我在MacBo
6 2023-08-31
编程技术问答社区
NSNetServiceBrowser没有找到服务
我尝试基于可可eacho示例编写客户端(iPad)/服务器(iMac)应用程序.我的第一个简单示例工作了,但是添加了更多功能后,客户端无法找到服务器. 启动服务器后,我在本地网络中启动客户端.客户端开始搜索服务,并获得" NetServiceBrowserWillSearch:"浏览器的消息,但此后什么也不会发生.再次触发搜索服务的搜索,导致一个" dototsearch:"带有错误-72003,10的消息(浏览器仍在忙于搜索). 1)我检查了使用WITAP应用程序可访问的服务器.客户和服务器正确连接. 2)我检查了服务器是否使用" DNS -SD -B _COCOAECHO"发布该服务,它将被检测到. 3)客户端应用程序中的NSNetserviceBrowser对象已声明为属性,因此不应存在范围问题.我还检查了调试器,它仍然在那里.... 我的代码: 客户端: @interface MySocketClient : UIResponde
22 2023-06-03
编程技术问答社区
iOS上的NSNetServiceBrowser/Bonjour问题
我正在使用Bonjour(确切地说是NSNetserviceBrowser),这是我正在为我一直在开发的iOS项目开发的应用程序中的WiFi. 然而,尽管注意到在为什么NSNETServiceBrowser在iPhone OS中找到未发表的服务?我仍然在Nsnetsericebrowser中遇到许多困难. 我的设置如下: 使用运行iOS 4.5.3的iPad. 使用机场快车作为接入点/路由器. 连接到网络上的Mac上运行DNS -SD -B _serviceName正常工作 - 也就是说,所有发布和停止的电话都会立即在台式机上反映. 但是,我经历了以下问题: - 长时间发布的服务(大约15分钟+)即使客户从Mac中消失了!(即,didremoveservice未被召唤). li> 有时网络上的其他人没有看到发布的服务,即使它们出现在Mac!上(即未调用DIDFindService) - 这可能与点3/4有关下面...如果应用程序开始在iPad连接到网络之
32 2022-12-12
编程技术问答社区
连接后立即与服务器断开连接
我已经使用gcdasyncsocket库编写了单身顿类,以与任何其他使用Bonjour相同服务的设备建立连接. 在一台设备上,我正在使用其方法" startpublishing "使其成为主机(服务器),从另一个设备(客户端)上的应用程序(client)我调用" >"找出网络中的可用设备.当用户选择该网络中的任何服务时,我正在调用方法" initconnectionwithservice ",该方法通过解决NetService的地址连接来启动连接流. bonjourutilclass.h @interface BonjourUtilClass : NSObject{ NSNetService *netServiceToPublish; GCDAsyncSocket *socketPub; NSNetS
106 2022-12-04
编程技术问答社区
NSNetService工作正常,但无法获得hostName,解析导致错误
我正在将Bonjour与NSNETService一起使用我的iPhone发布服务器.一切都按预期工作,我可以浏览我要提供的页面等.但是,在iPhone上,我想显示主机名(即URL,例如" mydevice.local.local."),以便也可以输入在浏览器中手动地址(对于缺少Bonjour Discovery服务的客户有用).我的理解是,调用方法[mynetservice hostName]应该给我这个地址.但是,这个电话总是返回零.我在某个论坛上阅读了我首先要解决该服务的问题,但是[mynetservice解决]和[mynetservice resolve ancolve withtimeout:10]致电代表方法 - (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict; 带有错误 { NSNetServicesErrorCode = -72003;
20 2022-11-03
编程技术问答社区
在iOS设备中创建一个Bonjour AirPrint服务
所以我发现要将(宣布服务)作为打印机发布到 iOS 设备,我使用 NSNetService 并将类型设置为 _ipp._tcp. 但要被认可为 AirPrint 打印机,要求包括: AirPrint 使用 IPP 进行打印管理. AirPrint 侦听 mDNS (Bonjour/Avahi) 以发现打印机. AirPrint 要求 _universal 子类型出现在 _ipp 公告中,然后才会考虑列出打印机. AirPrint 需要额外的 TXT 记录“URF"存在且非空,然后才会考虑列出打印机. 虽然这种 URF 格式(见下文)似乎是 Apple 未来的选择,但当前所有支持 AirPrint 的应用似乎都以 PDF 格式发送打印数据. 当打印机受用户名/密码保护时,iTunes/AirPrint 守护程序将发送一条 TXT 记录“air=username,password". 来源 所以我想弄清楚如何发布子类型并在 NSNetService 下发布
1362 2022-07-17
编程技术问答社区