地址

蓝牙开发 获取mac地址

折月煮酒 提交于 2019-12-06 03:43:05
苹果在原生的CoreBluetooth中,将设备的Mac进行了封装(通过外设的Mac地址和手机的Mac地址进行了加密计算),最后对外提供了一个UUID,在一台手机上,一般情况,UUID就可以作为这个外设的唯一标识了,但是如果换了一台手机的话,可能就会发生变化,所以如果需求是需要在多台手机上的话,UUID可能就不太实用了。 蓝牙的Mac地址可以加到蓝牙的广播包里,但是这样的话对硬件来说负担很大而且芯片也不稳定,也可以将蓝牙的Mac地址写在蓝牙设备系统的sevrice 里 。我们的需求是在通过Mac地址连接蓝牙设备,所以必须在连接蓝牙之前获取蓝牙的Mac地址。 通过广播包获取Mac地址 - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral * 大专栏 蓝牙开发 获取mac地址)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 在这个代理方法我们可以拿到一个advertisementData,这个字典类型的就是广播包,这里面会有一些设备的属性,比如设备的名字啊,服务等

c++指针和自由存储空间

耗尽温柔 提交于 2019-12-06 03:37:06
指针和自由存储空间 打印地址时使用16进制表示 使用指针比使用数组好的一点是数组大小在编译阶段就要确定好,而指针指向的空间大小可以在运行阶段确定好。可以使得程序更加灵活。 int * ptr;表示声明一个指针。 每声明一个指针都需要在前面加*。 指针变量不仅仅是一个指针,而且是一个指向特定类型的指针。 指针变量本身的长度是相同的。例如:char 和 double类型的指针长度相同。 c++创建指针时,只分配地址所占用的内存。而不分配指针所指向的数据的内存。数据的内存需要自己显式的分配。 在操作指针指向的数据之前,先为指针初始化一个合适的确定的地址。 c++中如果将一个int型值直接赋给指针类型(就算那个值很像地址值),编译器将显示类型不匹配的错误信息。如果要将int值赋给一个指针使用应当使用强制类型转换。 int * pt; pt = (int *) 0xB8000000; 指针在运行阶段的内存空间分配 c语言中使用malloc()分配内存。 c++中使用new分配内存。 new会找到一个长度正确的内存块,并返回该内存的地址。 int * pn = new int; new分配内存卡通常与常规变量分配的内存块不同。 常规变量存储在被称为栈的内存区域中,new分配的内存在堆中。 计算机可能因为没有足够的内存而无法满足new请求。这种情况下new将引发异常。 c+

ARP

醉酒当歌 提交于 2019-12-06 03:31:47
简介 地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,在IPv6中不适用。 工作流程 假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下: (1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。 (2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。 (3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。 (4) 主机A收到ARP响应报文后

DHCP的功能

白昼怎懂夜的黑 提交于 2019-12-06 03:28:37
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。[2] DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:[2] 1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。[2] 2. DHCP应当可以给用户分配永久固定的IP地址。[2] 3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。[2] 4. DHCP服务器应当向现有的BOOTP客户端提供服务。[2] 来源: https://www.cnblogs.com/SsShirley/p/11960416.html

NAT的工作原理

瘦欲@ 提交于 2019-12-06 03:28:15
NAT全称是 Network Address Translation,网络地址转换。 其是在是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 1.宽带分享:这是 NAT 主机的最大功能。 2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。 NAT工作原理 借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。 NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。

sort排序使用以及lower_bound( )和upper_bound( )

无人久伴 提交于 2019-12-06 03:21:42
sort()原型: sort(first_pointer,first_pointer+n,cmp) 排序区间是[first_pointer,first_pointer+n) 左闭右开 参数1:第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。 参数2:第二个参数相对较好理解,即首地址加上数组的长度n(代表尾地址的下一地址)。 参数3:默认可以不填,如果不填sort会默认按数组升序排序。也就是1,2,3,4排序(注意这一种只适合于数组,对于结构体就不可行了)。也可以自定义一个排序函数,改排序方式为降序什么的,也就是4,3,2,1这样。 1 bool cmp(struct_name a,struct_name b) 2 { 3 return a.变量名>b.变量名; //如果是这一种那么就是按此变量从大到小排序 4 return a.变量名<b.变量名; //如果是这一种那么就是按此变量从小到大排序 5 return b.变量名<a.变量名; //如果是这一种那么就是按此变量从大到小排序 6 return b.变量名>a.变量名; //如果是这一种那么就是按此变量从小到大排序 7 } 对于数组排序还可以使用标准库中定义好的函数: 升序:sort(begin,end,less<data-type>()) 降序:sort(begin,end,greater<data

20191125-20191126 java学习总结

不想你离开。 提交于 2019-12-06 02:46:25
20191125学习总结 对象之间也能赋值 “==“比较的是内存地址,”=“赋值,会指向同一个地址。 引用数据类型传递的是地址(地址传递)。 没有被指向的堆上的东西,过一段时间,会自动gc(垃圾回收)。 传递 基本数据类型是值传递。 引用数据类型是地址传递。 static静态变量 static静态变量,作用了类,只有一个值,只会存在一个。 static静态的方法里只能引用静态的变量,不能引用非静态的。 static静态块先运行,初始化顺序在最前面。 静态属性或静态块在JVM加载时,就开始运行。 固定的值在静态区域块里。 常量用final static final static一般习惯在用。 20191126学习总结 骑士飞行棋 获得当前时间的毫秒数 System current TimeMillis(); 抛出异常(后面会讲到) 集合 ArrayList list = new ArrayList(); 来源: https://www.cnblogs.com/Wardenclyffe/p/11958713.html

IP,MAC

你。 提交于 2019-12-06 02:46:24
IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:   1. 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。   2. 长度不同。IP地址为32位,MAC地址为48位。   3. 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。   4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络) 来源: https://www.cnblogs.com/liufuyang/p/11958712.html

nslookup命令查找域名

十年热恋 提交于 2019-12-06 02:33:23
了解 DNS 域名服务 熟悉使用 nslookup 查找 DNS 服务器上登记的域名,记录几次查询的结果, 及服务器的 ip 。 1. 某个子域下的一部分主机的名字- IP 地址对应关系,如 flame.nsrl.ustc.edu.cn—202.38.77.223 ; 2. 通过 IP 地址查找主机名,即:反向查询,记录你的查询结果; 3. 指定使用 202.38.75.11 作为 DNS 服务器,重复 2 、3 ; 4. 查看当前的查询选项(set all ) 5. 查询邮件交换记录 MX (如 mail.ustc.edu.cn ) 6. 查询某个域的域名服务器(如 ustc.edu.cn 的域名服务器) nslookup 命令使用 该实验只需要完成在 linux 下的操作即可。 在终端中输入 nslookup,进入交互模式。 o 某个子域下的一部分主机的名字-IP 地址对应关系 直接输入 flame.nsrl.ustc.edu.cn 回车,就可以看到服务器返回的解析结果。 o 通过 IP 地址查找主机名 输入 202.38.75.11 回车,即可以看到相应的反向解析结果。(注意:有些地址不能反向解 析) o 指定使用 202.38.75.11 作为 DNS 服务器,重复 2、3 输入命令 lserver 202.38.75.11 回车,设定 202.38.75.11 为 dns

IPV4地址分类

大兔子大兔子 提交于 2019-12-06 02:32:46
“ ipv4地址分类主要分了五类,分别是A类地址、B类地址、C类地址、D类地址和E类地址,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目也是不同的。除此之外,ipv4地址五大分类在特征方面也是有很大的不同的,比如A、B、C三类IP地 ” 来源: https://www.cnblogs.com/czydbk/p/11957218.html