- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在尝试通过 Wi-Fi Direct 连接两部知道彼此 MAC 地址的手机,但偶然发现了以下问题:我从
收到的 MAC 地址 WifiManager wifiMan = (WifiManager) this
.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
MAC_ADDRESS = wifiInf.getMacAddress();
与我在发现和请求对等点时从 WifiP2pManager
收到的略有不同。示例:a0:xx:xx:...
变为 a2:xx:xx....
有谁知道为什么?我没有找到任何方法来获取“Wi-Fi Direct MAC 地址”,而且我认为 MAC 地址应该是唯一的,并且它是处理两者(普通 Wi-Fi 和 P2P/Direct)的同一个 Wi-Fi 模块.这很奇怪..我应该怎么办?对于我得到的两个设备 (Galaxy Nexus),MAC 地址总是只有前两个字符不同——我应该简单地丢弃它们吗?遇到问题(两台设备仅 MAC 地址第一部分不同)的概率是否太高?
谢谢。
最佳答案
阅读 MAC address在维基百科上。
Addresses can either be universally administered addresses or locally administered addresses.
Universally administered and locally administered addresses are distinguished by setting the second-least-significant bit of the most significant byte of the address. This bit is also referred to as the U/L bit, short for Universal/Local, which identifies how the address is administered. If the bit is 0, the address is universally administered. If it is 1, the address is locally administered.
由于 Wi-Fi Direct 只是 MAC 之上的另一个堆栈,您还应该检查该位对它的含义。我找到了一些 mail discussion阐明这一点。显然下面的引用来自 WFA 规范。
The P2P Device shall assign a P2P Interface Address, corresponding to the format as described in §7.1.3.3.1 of IEEE Std 802.11‑2007 1, which is used to communicate with the P2P Group Owner or Clients within a P2P Group. A P2P Interface Address is not required to be globally unique and may be locally administered. A P2P Interface Address may be the same as the P2P Device Address provided the requirements for P2P Interface Address in this clause are satisfied.
所以我认为这个问题的答案是,您不应该从 WifiManager
获取 MAC 地址并将其用于 Wi-Fi P2P
连接。
关于android - Wi-Fi Direct 和 "normal"Wi-Fi - 不同的 MAC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968951/
除了智能手机、平板电脑和个人电脑等流行设备外,Wi-Fi 6还将嵌入其他设备中,包括无线摄像头、智能家居设备、游戏机、可穿戴设备和AR/VR耳机。 那么,Wi-Fi 6会取代5G,成为下一代无线网络
在 API 14 或更高版本 (ICS) 中,可以使用临时 Wi-Fi 网络。我目前拥有以下设备,我正在尝试弄清楚如何测试 Wi-Fi 直连功能,或者我是否需要购买另一台搭载 Android 4.0
我正在构建一个 Android 应用程序以允许在有限范围内的两个设备之间进行通信,但我找不到与 native 等效的插件 Android Wi-Fi peer-to-peer适用于 Phonegap/
我目前正在尝试通过 Wi-Fi Direct 连接两部知道彼此 MAC 地址的手机,但偶然发现了以下问题:我从 收到的 MAC 地址 WifiManager wifiMan = (WifiMa
在 iOS 设备内和支持 Wi-Fi Direct 的设备之间是否可以进行 Wi-Fi Direct 连接? 目标是在没有任何 Controller 的情况下实现 iOS 设备与另一台设备(不一定是另
我正在开发一个管理 Wi-Fi 连接的应用程序。我的场景如下:假设整栋楼都有一个名为“testing-tls”的 Wi-Fi 网络。我的应用程序应该只能连接到选定的接入点(基于 BSSID 或 MAC
我正在尝试编译这段代码,但出现以下错误: Q2.sh: line 18: syntax error near unexpected token `fi' Q2.sh: line 18: `fi' 在第
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
看到这个脚本,我试图弄清楚使用的是什么语言......它几乎就像 C 但我注意到 fi 作为关闭嵌套 if 的一种方式。 function prompt () { if [ "$noprompt" ]
我们正在使用专用网络,其中端口被防火墙阻止。 我们将提出为我们的机器IP地址打开端口的请求。 如果启用了wi-fi,则系统将具有2个IP地址,并且如果我们的连接通过该IP地址进行路由,则我们将无法访问
根据这篇文章:peer-to-peer Wi-Fi,我知道对等在iOS设备之间采用Bonjour连接。但是,我无法使它在专属网络中的设备(例如星巴克或Panera Bread)之间工作。 如果您能够在
我正在尝试编写一个脚本来删除所有以奇数结尾的 .jpg。这是我的代码: #!/bin/bash echo "start\n" for f in *.jpg do fname=$(basename
我一直在到处寻找解释。这是取自 apt-fast.sh 脚本的真实示例: if [ ! -x /usr/bin/axel ] then echo "axel is not installed, per
我正在 GCM (Android) 上开发示例应用程序。在其中我使用 tomcat 服务器发送消息。以及接收消息的设备。一切正常,除非我的 wifi 关闭。一旦我的 wi-fi 关闭,我就停止向我的设
我有一个带有以下内容的 mySQL 数据库 e.g.Microeconomics. The ‘theory of the ï¬rm’ or:Resource allocation modiï¬cati
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
这个问题在这里已经有了答案: Associating my Windows computer to a wifi AP with Python (3 个答案) 关闭 9 年前。 想象一下,您有 Wi
今天,我想测量 Wi-Fi 信号质量。所以我下载了Wi-Fi Analyzer app,然后安装到模拟器上,但是显示没有打开Wi-Fi。因此我打开它,但它仍然显示错误。 试了几次还是不行 有什么想法吗
频谱类型 传统上讲,蜂窝网络工作于授权频谱,Wi-Fi工作于非授权频谱。但进入5G时代,这种划分逐渐变得模糊。一方面,一些国家,比如德国、英国、日本、法国、美国等,已经为5G专网分配了本地化频
前边总得说点什么 最近每次在Win10上写代码需要启动Redis,残血Redis For Windows有卡死系统的bug。由于主机内存不大够用(已经扩到顶了),开虚拟机运行Redis更别提了。。想起
我是一名优秀的程序员,十分优秀!