Airplay要流量吗以及苹果怎么设置流量下载它的IP地址

请问这个在哪里设置?_百度知道
请问这个在哪里设置?
我有更好的答案
设置-蜂窝移动网络-使用无线局域网与蜂窝移动网络的应用程序-Safari 看看有没有给safari联网权限
采纳率:75%
是你没有联网吧
你看看是否有网络 ,流量或者流量都试试
你用流量试试
或者换一个浏览器
为您推荐:
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Posts - 52,
Articles - 0,
Comments - 4
14:45 by 指针空间, ... 阅读,
&&&&&& &mDNS实现之mdnsresponder介绍
一、名词介绍
mdnsresponder:是Apple实现Benjour的一个开源工程。
Bonjour:Apple基于组播域名服务(multicast DNS)的开放性零配置网络标准所起的名字。Bonjour技术在Mac OS以及iTunes、iPhone上广泛应用(airplay)
zeroconf(Zero configuration networking):零配置网络服务规范,是一种用于自动生成可用IP地址的网络技术,不需要额外的手动配置和专属的配置服务器。Zeroconf规范的提出者是Apple公司。
mDNS:即组播域名服务(multicast DNS)。使用5353端口,在内网没有DNS服务器时,就会出现此组播信息。mNDSS是实现跟DNS相似服务,使得在没有NDS服务的情况下使局域网内的主机实现相互发现和通信。(The name "mDNS" was chosen because this protocol is designed to be,as much as possible, similar to conventional DNS)
二、实现机制
开源工程mDNSResponder实现了 Bonjour协议的服务名称与地址的转换以及服务的发现等 Bonjour部分协议的支持。Bonjour协议的服务名称与地址的转换以及服务的发现采用的流程和DNS流程近似包括:登记过程、服务发现过程、服务 地址解析过程以及建立连接等过程,服务发现采用的协议也和DNS协议相似,不过与DNS协议采用的单播方式不同的是采用了组播方式,因此被称为mDNS。
mdnsresponder是C代码实现,支持多种平台,在Windows平台上,它将生成一个后台程序mdnsresponder。在Android平台上(或者说支持POSIX的Linux平台)它是一个名为mdnsd的程序。不过,不论是mdnsresponder还是mdnsd,应用开发者要做的仅仅是利用工程中提供的API向它们发起服务注册、服务查询和服务解析等请求并接收来自它们的处理结果。mdnsd或者mdnsresponder作为守护进程,在开机启动时就开启,用户通过调用dns_sd.h里的API接口来实现服务注册、服务查询和服务解析等功能
三、主要的API接口
服务注册的API为DNSServiceRegister,原型如下。
DNSServiceErrorType DNSSD_API DNSServiceRegister
& & DNSServiceRef& & & & & & & & & & & & *sdRef,
& & DNSServiceFlags& & & & & & & & flags,
& & uint32_t& & & & & & & & & & & & interfaceIndex,
& & const char& & & & & & & & & & & & *name,& & & & & & & & /* may be NULL */
& & const char& & & & & & & & & & & & *regtype,
& & const char& & & & & & & & & & & & *domain,& & & & /* may be NULL */
& & const char& & & & & & & & & & & & *host,& & & & & & & & /* may be NULL */
& & uint16_t& & & & & & & & & & & & port,& & & & & & & & /* In network byte order */
& & uint16_t& & & & & & & & & & & & txtLen,
& & const void& & & & & & & & & & & & *txtRecord,& & & & /* may be NULL */
& & DNSServiceRegisterReply& & & & callBack,& & & & /* may be NULL */
& & void& & & & & & & & & & & & & & & & *context& & & & /* may be NULL */
该函数的解释如下。
sdRef代表一个未初始化的DNSService实体,其类型DNSServiceRef是指针。该参数最终由DNSServiceRegister函数分配内存并初始化。
flags表示当网络内部有重名服务时的冲突处理。默认是按顺序修改服务名。例如要注册的服务名为&printer&,当检测到重名冲突时,就可改名为&printer(1)&。
interfaceIndex表示该服务输出到主机的哪些网络接口上。值-1表示仅对本机支持,也就是该服务的用在loop接口上。
name表示服务名,如果为空就取机器名。
regtype表示服务类型,用字符串表达。Bonjour要求格式为&_服务名._传输协议&,例如&_ftp._tcp&。目前传输协议仅支持TCP和UDP。
domian和host一般都为空。
port表示该服务的端口。如果为0,Bonjour会自动分配一个。
txtLen以及txtRecord字符串用来描述该服务。
txtRecord格式为键值对(name/value pairs)例如:0x0A | name=value | 0x08 | paper=A4 | 0x12 | Rendezvous Is Cool |
callBack表示设置回调函数。该服务注册的请求结果都会通过它回调给客户端。
context表示上下文指针,由应用程序设置。
当客户端需要搜索网络内部特定服务时,需要使用DNSServiceBrowser API,其原型如下。
DNSServiceErrorType DNSSD_API DNSServiceBrowse
& & DNSServiceRef& & & & & & & & & & & & *sdRef,
& & DNSServiceFlags& & & & & & & & flags,
& & uint32_t& & & & & & & & & & & & interfaceIndex,
& & const char& & & & & & & & & & & & *regtype,
& & const char& & & & & & & & & & & & *domain,& & & & /* may be NULL */
& & DNSServiceBrowseReply& & & & & & & & callBack,
& & void& & & & & & & & & & & & & & & & *context& & & & /* may be NULL */
其中,sdref、interfaceIndex、regtype、domain以及context含义与DNSServiceRegister一样。flags在本函数中没有作用。callBack为DNSServiceBrowser处理结果的回调通知接口。
当客户端想获得指定服务的IP和端口号时,需要使用DNSServiceResolve API,其原型如下。
DNSServiceErrorType DNSSD_API DNSServiceResolve
& & DNSServiceRef& & & & & & & & & & & & *sdRef,
& & DNSServiceFlags& & & & & & & & flags,
& & uint32_t& & & & & & & & & & & & interfaceIndex,
& & const char& & & & & & & & & & & & *name,
& & const char& & & & & & & & & & & & *regtype,
& & const char& & & & & & & & & & & & *domain,
& & DNSServiceResolveReply& & & & callBack,
& & void& & & & & & & & & & & & & & & & *context& & & & /* may be NULL */
其中,name、regtype和domain都从DNSServiceBrowse函数的处理结果中获得。callBack用于通知DNSServiceResolve的处理结果。该回调函数将返回服务的IP地址和端口号
mdnsresponder在linux上的实现
一、&&&&&&& 工程源码
只能浏览,没有提供下载。
各个版本的打包文件,直接下载。
本文以选用mDNSResponder-320.10.80。
二、工程目录介绍
mDNSCore:主要核心协议引擎代码,纯C语言编写,各个平台都需要依赖该核心代码。
mDNSShared:多个平台共享的非核心引擎代码。
mDNSPosix:Posix平台相关代码。
Clients:包括如何使用后台服务提供的API的客户端例子代码等四个目录。
在linux下实现只需要以上几个目录代码。
使用mDNSPosix的Makefile编译(make os=linux)生成以下文件(/build/prod),可以修改Makefile的Debug=1项来生成有debug信息的文件(/build/debug下)
编译Clients生成一个dns-sd执行文件用于测试,用于跟mndsd服务通讯。
其中mdnsd是一个后台服务,这个服务应该设置随着系统启动时运行,libmdnssd是一个 MDns监视层(dns-sd)使用的库libmdnssd。
专用设备使用文件 (printer, network camera, etc.)
& - mDNSClientPosix
& - mDNSResponderPosix
& - mDNSProxyResponderPosix
要把程序运行在嵌入式系统板上,需要修改Makefile来进行交叉编译
ifeq ($(findstring linux,$(os)),linux)
CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -fno-strict-aliasing
LD = gcc &shared
CC = /opt/mtk/gnu-toolchain_4.8.2_2.6.35_cortex-a9-neon/bin/armv7a-mediatek482_001_neon-linux-gnueabi-gcc
LD = /opt/mtk/gnu-toolchain_4.8.2_2.6.35_cortex-a9-neon/bin/armv7a-mediatek482_001_neon-linux-gnueabi-gcc &shared
/opt/mtk/gnu-toolchain_4.8.2_2.6.35_cortex-a9-neon/bin/armv7a-mediatek482_001_neon-linux-gnueabi-gcc是具体平台的编译工具链
生成mdnsd放到板子上运行,将生成的dns-sd运行起来,./dns-sd &h可以看到dns-sd测试程序的测试提示信息。接下来可以修改dns-sd.c里的代码来定制自己的测试项。
下面是一个注册airplay服务和raop服务的demo:
#define&kRaopPort&&&50001&&
#define&kAirplayPort&&&&50002&&
&&&&&&&&static&DNSServiceRef&airplayRef&&&&=&NULL;&&
&&&&&&&&static&DNSServiceRef&raopRef&&&&=&NULL;&&
&&&&&&&&Opaque16&AirplayPort&=&{&{&kAirplayPort&&&&8,&kAirplayPort&&&0xFF&}&};&&
&&&&&&&&Opaque16&RaopPort&=&{&{&kRaopPort&&&&8,&kRaopPort&&&0xFF&}&};&&
&&&&&&&&static&const&char&AirplayTXT[]&=&&&
&&&&&&&&&&&&"\x1A"&"deviceid=0c:54:a5:56:9d:80"&\&&
&&&&&&&&&&&&"\x0F"&"features=0x3FFF";&\&&
&&&&&&&&&&&&//"\x10"&"model=AppleTV3,1";&&
&&&&&&&&&&&&//"\x0E"&"srcvers=150.33";&&
&&&&&&&&static&const&char&RaopTXT[]&=&&&
&&&&&&&&&&&&"\x06"&"tp=UDP"&\&&
&&&&&&&&&&&&"\x08"&"sm=false"&\&&
&&&&&&&&&&&&"\x08"&"sv=false"&\&&
&&&&&&&&&&&&"\x04"&"ek=1"&\&&
&&&&&&&&&&&&"\x06"&"et=0,1"&\&&
&&&&&&&&&&&&"\x06"&"cn=0,1"&\&&
&&&&&&&&&&&&"\x04"&"ch=2"&\&&
&&&&&&&&&&&&"\x05"&"ss=16"&\&&
&&&&&&&&&&&&"\x08"&"sr=44100"&\&&
&&&&&&&&&&&&"\x08"&"pw=false"&\&&
&&&&&&&&&&&&"\x04"&"vn=3"&\&&
&&&&&&&&&&&&"\x09"&"txtvers=1";&&
&&&&&&&&&&&&&&
&&&&&&&&err&=&DNSServiceRegister(&airplayRef,&0,&opinterface,&"JieTools",&"_airplay._tcp.",&"",&NULL,&AirplayPort.NotAnInteger,&0,&NULL,&reg_reply,&NULL);&&
&&&&&&&&if&(!err)&err&=&DNSServiceUpdateRecord(airplayRef,&NULL,&0,&sizeof(AirplayTXT)-1,&AirplayTXT,&0);&&
&&&&&&&&err&=&DNSServiceRegister(&raopRef,&0,&opinterface,&"0C54A5569D80@JieTools",&"_raop._tcp.",&"",&NULL,&RaopPort.NotAnInteger,&0,&NULL,&reg_reply,&NULL);&&
&&&&&&&&if&(!err)&err&=&DNSServiceUpdateRecord(raopRef,&NULL,&0,&sizeof(RaopTXT)-1,&RaopTXT,&0);&&
&&&&&&&&while(1)getchar();&&
&&&&&&&&&&
&&&&&&&&return&0;&&
前两行定义指定服务端口,而后的AirplayTXT与RaopTXT分别两个服务的描述内容,下面对AirplayTXT做简单说明:
"\x1A"这样的写法,是为字符串前添加长度字值,为16进制,deviceid后面的值是本机网卡的物理地址,features这个参数不能少,它是airplay服务所支持的特性或能力描述,其它的参数可以忽略。
RaopTXT描述内容是我通过抓包COPY下来的,没有修改过;再接下来调用了两个mDNS&SDK中的两个API,DNSServiceRegister用于注册,DNSServiceUpdateRecord用来更新服务的TXTRecord信息。
这里有两组调用服务注册,这里需要注意的是,如果你想实现_airplay服务,那么就必须将这两个服务一起注册,并且服务名称必须一致,如第四个参数是服务名称&JieTools&及&0C54A5569D80@JieTools&,注意命名规则。
OK,不出意外的话,运行它,打开你的手机,就能在airplay中发现自己注册的这个服务了
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&& 问题总结
1、& 选择合适测试平台
测试应该选择合适平台,由于我的目的是要移植到linux arm平台,所以我选择linux环境来编译测试,本机在虚拟机上安装ubuntu,在ubuntu上进行编译测试,编译运行都没有问题,但是手机端怎么都发现不了设备,使用工程里ReadMe的测试方法:mDNSResponderPosix mDNSClientPosix测试也没起作用,最后是重新编译放到板子上运行,手机端能够发现到所注册的服务了。测试平台不能选择虚拟机
2、在测试过程中怎么看打印信息
默认情况下,打印信息都保存到/var/log/system.log里面,在运行mdnsd是带上debug参数(mdnsd -debug),或者把Makefile的编译项改成DEBUG=1就能在窗口上实视看到打印输出。调试过程中建议把debug信息打印出来,方便跟踪问题。
3、& 调用函数DNSServiceRegister会返回-65549
返回-65549是错误代码,这种情况一版是参数不对造成,一般情况下,txtRecord参数容易出错,debug信息提示
Sep 15 16:06:13 localhost mDNSResponder[192]: Attempt to register record with invalid rdata: 17 Ice Cube._http._tcp.local. TXT ath=/index.html
TXT record的格式是:长度键值对长度键值对(length byte, data, length byte, data)
长度是16进制表示,键值对是=左边是字符串,右边是值,各个键值对之间没有间隔如:\011txtvers=1\020path=/index.html\025note=Bonjour Is Cool!
4、& 要在ios端的airplay上发现服务,需要一些专有参数
对DNSServiceRegister函数的参数,regtype参数必须是_服务名._传输协议,并且只支持tcp和udp,其他的参数都没有做特殊要求。但是如果要让ios能够发现服务,_airplay._tcp 和_raop._tcp 两种服务都要注册,并且两个服务名name要一样,如:airplay的服务名称是hzzTools ,则raop的服务名称是0C54A5569D80@JieTools,其中0C54A5569D80是MAC地址。参数txtRecord里两个参数是必须的,deviceid本机网卡的物理地址和features
5、& 注册服务后还需要更新服务信息
调用DNSServiceRegister注册服务后,还需要调用DNSServiceUpdateRecord来更新服务的TXTRecord信息。这样ios端才能发现到服务。
6、& 在测试过程中除了打开debug信号来跟踪,还可以用抓包工具(如:Wireshark)来分析
通过使用抓包工具来分析,可以最直接的分析到设备间的网络通讯情况。熟练使用工具能够跟快跟踪到问题所在。手机签到经验翻倍!快来扫一扫!
让iPhone也用上DLAN功能,看电脑、电视大片就不用非得限制在AirPlay了
26381浏览 / 110回复
& DLNA能够简单快速的实现、、电视等多媒体终端的影音互联,将为人们的数字娱乐生活提供很大的便利。而很多安卓手机早已支持此功能啦~现在 Qualcomm Atheros 终于把它带到了 iOS 平台,让 、 和 iPod Touch 用户(系统必须为 iOS 5 或以上)也能享受 DLNA 技术所带来的乐趣啦.只要下载安装软件后用户就可以将装置与音响、电视、游戏主机等相连,通过流媒体的方式分享影音内容.&软件使用上非常简单和安卓版类似,连接WIFI,连接PC中的Skifta即可。
&&软件功能第一项是流媒体来源,安卓过PC版Skifta上面会直接显示添加之后,接下来就是选择播放器和流媒体。& 这里有一个安卓版的视频演示,由于功能和按键位置都在一样,大家按视频上的来吧:&[media=swf,580,502,0]http://player.youku.com/player.php/sid/XMzYyMTgzODg0/v.swf[/media]&&&& Skifta全平台下载:本帖隐藏的内容需要回复才可以浏览
对 楼主 黑色流云 说:=========================终于能用了,好啊
谢谢楼主,无言感激吖…
谢谢楼主,无言感激吖…
对 楼主 黑色流云 说:=========================看看
对 楼主 黑色流云 说:=========================这个很强大啊
谢谢楼主,无言感激吖…
谢谢楼主,无言感激吖…
这个值得研究
好东西。谢谢发布
谢谢。正需要
好不好用啊
对 第1楼 guihudie 说:=========================看下视频就知道怎么用了
安装到手机上试试看吧
不看不知道,看了才知道,好帖
福建开发高精尖
xi So you Hodhat辉钴矿k
lkkfkankanxingbu爱你吗求什么玩意
只看该作者 3楼 板凳 发表于
谢谢楼主,无言感激吖…
.........谢谢啦
支持键盘翻页 ( 左右 )&
用户名/注册邮箱/注册手机号
其他第三方号登录怎么设置苹果6sP的网络设置?
来源:互联网
责任编辑:张小俊字体:
RT:我想知道怎么设置苹果6sP的网络设置?用户回答1:你是不是下载了万能钥匙 如果是 就删了 然后恢复一下网络设置 重启手机 就解决了
相关解决方法如下:
苹果忘记密码1、打开电脑itunes。2、按住手机home键,再将手机数据线连接到电脑。3... 4、点击恢复。5、恢复以后,手机中的提示中选择设置为新的ip hone。 用于锁屏密 码忘...
这是6所没有的。 相比6,新一代6s提升最大的莫过于性能。新一代6s搭载全新苹果A9双核处理器,2GB内存,性能相比搭载苹果A8处理器,1GB内存的6提升超过70%,并且功耗还更...
接下来可请打开屏幕上的"设置"应用。 3、在设置列表里,点击打开"蜂窝移动网络"选项。 4、接下来就可以看到 4G 网络的选项了,点击打开即可开启 iPhone6 上的4G网络。 5、...
进入appstore搜索vpn,然后选择下载,可以自行寻找适合自己的vpn软件。2、点击获取按钮,获取服务器、账号、密码相关资料。3、到苹果系统中的设置里,点击vpn4、点击添加...
苹果6手机网络从4g3g变成4g2g了,设置回3g网络的操作为: 第一步:点击桌面"设置"图标。 第二步:打开"蜂窝移动网络"。
第三步:把"启用4G"选项关闭即可调回3G网络。
因为可以再断网情况下使用PC端软件将其内容和设置全部抹去,这样的设置也形同虚设... 怎么刷机,进入DFU模式,用Itunes、Itools全都没有用,最终都要输入Apple id才能激活,就算...
苹果手机没有通话中,别人打进的时候提醒手机正在通话中,打不进,但手机会显示未接来电的原因:1:蜂窝移动网络信号差。2:系统版本BUG问题。3:系统网络设置出错。建议还原...
(6)有部分较为老款的手机对中文SSID(WiFi名称)支持不佳,建议将WiFi名称设置为英文的,保存设置,并重启WiFi路由器尝试下。
(7)检查WiFi路由器配置是否对手机做了网络连...
可以尝试更改无线 Wifi 网络的 DNS 地址,先打开手机上的"设置"应用,在设置列表中点击... 如果还是不行的话,可能是软件自身出了问题,建议在同步推绑定APPLE ID,就可以在同步...
如果你连别的WiFi信号也很差,不排除手机有软件或者硬件故障的可能性。可以尝试在做好手机数据备份好的情况下,建议把手机重置为出厂设置,或者由手机售后服务中心专业人...
答:你是不是下载了万能钥匙 如果是 就删了 然后恢复一下网络设置 重启手机 就解决了
问:苹果6sp怎么调4g网络答:1/需要一张可以用4G网络的手机卡,否则你在 iPhone6 手机上也是上了4G网络的。如果当前的手机卡还没有开通4G网络的话,可以去营业厅开通。 2、机卡开通了4G网络以后,接下来可请打开屏幕上的“设置”应用。 3、在设置列表里,点击打开“蜂窝移动网...
答:iphone 6网络制式是什么呢?iphone 6网络模式又是什么呢?到底支不支持中国4G的网络运行商呢?相比上代的iPhone 5s,iPhone 6和iPhone 6Plus不仅拥有更大的显示屏,而且在无线网络方面的改进也十分显着。尤其在4G LTE网络功能方面,不仅加入TE C...
问:iphone 6sp 怎么切换3G跟4G我手机上找不到3G的选项答:苹果手机的上网设置: 1、首先点击设置――蜂窝移动网络――打开蜂窝移动数据 2、在打开蜂窝移动数据后,下面就有一个启用4G的按钮。 如果打开启用4g的按钮,就可以用4g网络; 如果不打开启用4g的按钮,就是用2g和3g的网络。 当然,2g、3g、4g网络会...
答:苹果6蜂窝移动网络设置的方法如下: 1、选择“设置” 进入设置界面 2、进入设置界面后选择“通用” 3、在通用菜单里选择“网络” 4、在网络菜单里启用“蜂窝数据”
问:iPhone6SP怎么开启/关闭软件的移动数据答:工具原料:苹果手机一台 苹果6查看自动蜂窝数据的软件的方法如下: 1 打开手机桌面找到设置,点击进入。 2 进入设置后,找到蜂窝数据,点击打开。 3 点开之后,可以看到蜂窝移动数据,4G等选项。 4 继续往下拉,拉到最下面,可以看到蜂窝数据的...
问:苹果6sp怎么设置实时网速如题答:方法/步骤 1 这里以腾讯的QQ管家为例,可以在 App Store 商店里免费下载安装。 2 打开软件以后,我们选择“网络测速”选项,如图所示 由于当前我的 iPhone 是连接到无线网络的,这里先测试一下无线 WiFi 网络的速度,点击“开始测速”按钮。 测试出...
答:1、下载安装并打开itunes。 2、让手机进入恢复模式: 一、先长按住电源键,出现关机选项时,请滑动关机; 二、随后再按电源键开机,屏幕会出现苹果标志,不要松开电源键; 三、接着再按住主屏 Home 键,直到屏幕黑屏; 四、当屏幕黑屏时,请松开...
问:苹果6SPUS手机dns怎么设置上网快答:1、在设置中,找到“Touch ID 与密码” 2、点开后,在指纹识别的设置界面中,请点击“添加指纹”选项。 3、接下来就进入了 Touch ID 的指纹识别界面,把想要添加的手指放到主屏Home按键上。 4、随后按照屏幕上的提示来操作,先把手指的位置放正,再...
问:苹果6sp还原网络设置密码是多少答:苹果忘记密码1、打开电脑itunes。2、按住手机home键,再将手机数据线连接到电脑。3、itunes中提示检测处于恢复模式的iphone。4、点击恢复。5、恢复以后,手机中的提示中选择设置为新的ip hone。 用于锁屏密 码忘记。为您准备的好内容:
最新添加资讯
24小时热门资讯
Copyright ©
haoxyx.com All Rights Reserved. 好心游戏网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 华为手机流量设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信