WIFI直连(Wi-Fi P2P)

一、概述

Wifi peer-to-peer(也称Wifi-Direct)是Wifi联盟推出的一项基于原来WIfi技术的可以让设备与设备间直接连接的技术,使用户不需要借助局域网或者AP(Access Point)就可以进行一对一或一对多通信。这种技术的应用场景非常多,只要设备支持WiFiP2P的协议,就可以实现传文件,屏幕共享(Miracast),甚至是联机玩游戏,而周围没有任何可以上网的设备。

二、连接方式 

三、连接过程

3.1、Device Discovery 流程
设备发现流程利用了IEEE 802.11标准中的Probe Request和Probe Response帧来搜索周围的P2P设备,并且要求Probe Request帧中的数据必须包含P2P IE信息,否则不会响应。

3.2  、 Service Discovery

服务发现流程可在设备成功发现后的任何时间被执行,例如在成功发现设备后且在组形成之前。服务发现流程利用的是 Generic Advertisement Service(GAS)帧,类似与Probe Request和Probe Response帧,它也是IEEE 802.11定义的。这个协议具有很高的扩展性和灵活性,可发现不同的高层服务协议类型,比如Bonjour和UPnP协议。

四、协议介绍

Bonjour是在LAN(局域网)中寻找服务的一个主要方法。这项技术广泛用于Mac OS X,允许用户不用在任何设置下建立一个网络连接。目前用于在Mac OS X和其他操作系统上寻找打印机和文件共享服务器。还可以用于在iTunes中寻找共享音乐,在iPhoto寻找共享照片,在iChat,Proteus,Adium,Fire,Skype和Gizmo Project中寻找本地网络中的其他用户,在TiVo桌面上寻找视频录制器,在SubEthaEdit和E中寻找文件协作,在Contactizer中寻找、共享联系人、任务和活动消息。另外还可以用于在Safari中寻找当地网络服务器和当地设备的设置页面,用Asterisk来推广电话服务,设置参数VoIP电话和拨号。Bonjour Browser可以用来浏览所有设备和这些程序的服务。

UPnP简介
全称:Universal Plug and Play(通用即插即用)

应用:主要用于设备的智能互联互通,简化家庭或企业中智能设备的联网过程。

ONVIF协议中使用ONVIF WS-Discovery (设备发现协议)完成视频流设备发现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 SpringBoot的乐乐农产品销售系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Xmanager

什么是 XManager Xmanager 是市场上领先的 PC X 服务器,可将X应用程序的强大功能带入 Windows 环境。 提供了强大的会话管理控制台,易于使用的 X 应用程序启动器,X 服务器配置文件管理工具,SSH 模块和高性能 PC X 服务器。 Xman…

javaScript(六):DOM操作

文章目录 1、DOM介绍2、DOM:获取Element对象3、DOM:事件监听3.1、事件介绍3.2、常见事件3.3、设置事件的两种方式3.4、事件案例 1、DOM介绍 概念 Document Object Model ,文档对象模型 将标记语言的各个组成部分封装为对应的对象&#xff1a…

Realme X7 Pro Root 刷机教程

Realme X7 Pro 刷机教程 Just For Fun,最近倒腾了下Realme X7 Pro 刷root。此博客为个人记录刷机过程,如有机友跟随本教程操作,请谨慎操作!!! 以下教程真针对Realme X7 Pro,其他版本方法未知&…

springboot(ssm高校竞赛管理系统 在线竞赛平台 Java系统

springboot(ssm高校竞赛管理系统 在线竞赛平台 Java系统 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) 数…

qt 模型视图结构

在Qt中,Model、View和Delegate三者之间的关系如下: Model(模型):Model是数据的抽象表示,它提供了一种结构化的方式来存储和管理数据。Model负责维护数据的状态,并提供接口供其他组件&#xff08…

【Flutter】vs2022上开发flutter

在vs上开发flutter,结果扩展仓库上没办法找到Dart,Flutter。 在 这 搜索Dart时也无法找到插件。 最后发现是安装工具出错了 安装了 开发需要的是

挖漏洞之文件上传

(一)漏洞原理 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。…

从线性回归到神经网络

目录 一、线性回归关键思想 1、线性模型 2、基础优化算法 二、线性回归的从零开始实现 1、生成数据集 2、读取数据集 3、初始化模型参数 4、定义模型 5、定义损失函数 6、定义优化算法 7、训练 三、线性回归的简洁实现 1、生成数据集 2、读取数据集 3、定义模型…

论文代码阅读:TGN模型训练阶段代码理解

文章目录 [toc] TGN模型训练阶段代码理解论文信息代码过程手绘代码训练过程compute_temporal_embeddingsupdate_memoryget_raw_messagesget_updated_memoryself.message_aggregator.aggregateself.memory_updater.get_updated_memoryMemoryget_embedding_moduleGraphAttentionE…

什么是W3C标准? 什么要遵循?

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML5中W3C的标准,需要遵循的规则以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问…

【AIGC】Midjourney高级进阶版

Midjourney 真是越玩越上头,真是给它的想象力跪了~ 研究了官方API,出一个进阶版教程 命令 旨在介绍Midjourney在Discord频道中的文本框中支持的指令。 1)shorten 简化Prompt 该指令可以将输入的Prompt为模型可以理解的语言。模型理解语言…

Git初学入门指令

git基本指令 初始化&#xff1a; git init查看状态&#xff1a; git status新建文件&#xff1a; touch <filename>加入暂存区&#xff1a; git add . 或者 git add -A 表示全部加入暂存区 git add <filename>单个文件加入暂存区加入仓库&#xff1a; …

PCIe中断总结-各个中断的区别

1.简介&#xff1a; PCIe中断支持三种传输方式&#xff1a; • Legacy: 也称传统中断&#xff0c;Legacy PCI中断机制,每个PCI设备最多支持四个中断信号(边带信号:INTA# INTB# INTC# INTD#) • MSI(Message Signaled Interrupt): Post Memory Write,只支持32个中断向量 • MSI…

力扣labuladong一刷day35天

力扣labuladong一刷day35天 文章目录 力扣labuladong一刷day35天一、98. 验证二叉搜索树二、700. 二叉搜索树中的搜索三、701. 二叉搜索树中的插入操作四、450. 删除二叉搜索树中的节点 一、98. 验证二叉搜索树 题目链接&#xff1a;https://leetcode.cn/problems/validate-bi…

【Linux】如何对文本文件进行有条件地划分?——cut命令

cut 命令可以根据一个指定的标记&#xff08;默认是 tab&#xff09;来为文本划分列&#xff0c;然后将此列显示。 例如想要显示 passwd 文件的第一列可以使用以下命令&#xff1a;cut –f 1 –d : /etc/passwd cut&#xff1a;用于从文件的每一行中提取部分内容的命令。-f 1&…

Sql server数据库数据查询

请查询学生信息表的所有记录。 答&#xff1a;查询所需的代码如下&#xff1a; USE 学生管理数据库 GO SELECT * FROM 学生信息表 执行结果如下&#xff1a; 查询学生的学号、姓名和性别。 答&#xff1a;查询所需的代码如下&#xff1a; USE 学生管理数据库 GO SELE…

为什么需要 Kubernetes,它能做什么?

传统部署时代&#xff1a; 早期&#xff0c;各个组织是在物理服务器上运行应用程序。 由于无法限制在物理服务器中运行的应用程序资源使用&#xff0c;因此会导致资源分配问题。 例如&#xff0c;如果在同一台物理服务器上运行多个应用程序&#xff0c; 则可能会出现一个应用程…

【QED】高昂的猫 Ⅰ

目录 题目背景题目描述输入格式输出格式 测试样例样例说明数据范围 思路核心代码 题目背景 这是小橘。因为它总是看起来很高傲&#xff0c;所以人送外号“高昂的猫”。 题目描述 "锕狗"的房间里放着 n n n ( 1 ≤ n ≤ 1 0 9 ) (1 \leq n \leq 10^9) (1≤n≤109)个…

C# 使用CancellationTokenSource 取消Task执行

写在前面 在Task创建并执行后&#xff0c;如果状态发生了变化&#xff0c;需要取消正在执行中的Task&#xff0c;除了使用主线程上的共享变量来判断之外&#xff0c;更优雅的方式就是就是用CancellationTokenSource来取消任务的执行。 代码实现 public static void CancelTas…