P2P GO Client角色的协商

1 P2P GO Client协商流程

 协商流程
P2P GO/Client的协商流程只需要简单的几步,如下图:
P2P连接发起端:指在P2P连接过程中主动发起P2P连接的机子,用A表示;
P2P连接接受端:指在P2P连接过程中接受P2P连接的机子,用B表示;

这里写图片描述
图1 P2P GO/Client协商流程
如上图所示:
1、 首先A在P2P连接初始化准备完成后,发送一个“GO Negotiation Request”给B;
2、 而这时候,B并没有准备好,这时B先保存下A的协商信息,然后发送一个“GO Negotiation Response”给A,该response包含有B的协商信息,但在该response中,B把状态state设置为P2P_SC_FAIL_INFO_CURRENTLY_UNAVAILABLE,表示当前P2P连接不可用;
3、 A在接收到该response后,保存B的协商信息,切换到Listen state,等待B的P2P连接初始化完成,并等待B发送“GO Negotiation Request”。所以第一次的协商并没有确定任何东西,主要用来通知B,A需要与B进行P2P连接;
4、 B在发送“GO Negotiation Response”后,进行P2P连接初始化,B在P2P连接初始化完成后,就发送一个“GO Negotiation Request”给A;
5、 而A在收到B的Request后,根据该Request的协商信息,就可以确定自己在P2P连接时的角色了。这时A发送一个“GO Negotiation Response”给B,在该Response中,state为P2P_SC_SUCCESS,表示可以进行P2P连接;
6、 B在收到A的Response后,也可以确定自己在P2P连接时的角色了;
7、 最后B发送一个“GO Negotiation Confirm”给A,该Confirm作用之一是作为协商的确认,同时确定了后面P2P连接所使用的信道;

在P2P GO/Client协商完成后,作为GO角色的设备后面就把自己切换到AP模式,而作为Client角色的设备就去连接GO的AP。

 协商时Request/Response内容
Request的部内容:
* Dialog Token: 1
Parsing WPS IE
Device Password ID: 4
Parsing P2P IE
Attribute 2 length 2
* Device Capability 21 Group Capability 2a
Attribute 4 length 1
* GO Intent: Intent 6 Tie breaker 0
Attribute 5 length 2
* Configuration Timeout
Attribute 6 length 5
* Listen Channel: Country XX(0x04) Regulatory Class 81 Channel Number 6
Attribute 9 length 6
* Intended P2P Interface Address: 96:bd:db:15:b9:38
Attribute 11 length 16
* Channel List: Country String ‘XX(0x04)’
Attribute 13 length 33
* Device Info: addr 96:bd:db:15:b9:38 primary device type 10-0050F204-5 device name ‘Android_dd11’ config methods

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值