[NFC]SNEP协议介绍
来源:互联网 发布:centos jdk1.8 安装 编辑:程序博客网 时间:2024/06/05 04:52
依照消息处理的流程,LLCP的消息会封装成SNEP,交由上层进行分析处理。此章节将重点介绍SNEP Spec中重要的部分。
1. SNEP简介
2. SNEP协议
SNEP简介
SNEP(SimpleNDEF Exchange Protocol)是通过request/response的方式进行交互,对应的服务名称(Service Name):urn:nfc:sn:snep,服务访问点(Service AccessPoint):4.
SNEP支持分片传输,传输的第一个fragment必须包含完整的Header信息,示意图如下:
分片传输示意图如下:
需要注意的是:
1. 接收方收到第一个分片信息后,需要回复continue PDU给发送方。发送方收到continue PDU后,会继续传输剩余的分片信息。如果接收方不支持对应的Version,则不会回复continue PDU,并放弃接收后续数据。
2. SNEP中检查Version时,如果Major不一致时,可能会返回unsupportedversion;如果只是minor版本不一致,则会采用低版本的协议进行沟通
SNEP协议
主要从request和response两个方面进行介绍。
request和response的封包格式如下:
由于Request/Response中的type字段都是由8bits数据表征其含义,所以整理了总表如下:
代码
名称
说明
解释
00
Continue
[Req]Send remain fragment
Client请求Server发送剩余分片信息
01
Get
[Req] Server should return a NDEF MSG
请求Server发送NDEF,此消息含Client能接收的最大消息长度
02
Put
[Req]Server should accept a NDEF MSG
请求Server接收NDEF,理论上Server端不要支持此部分
03-7E
Reserve
---
----
7F
Reject
[Req]Server should not send remaining msg
停止发送数据,此消息不含information field
80
Continue
[Resp] Send remain fragment
Server回复的消息过长时,会以frag的方式发送
81
Success
[Resp] Operation Success
回复PUT时不含信息域,回复GET时含信息域
82-BF
Reserve
---
---
C0
Not Found
[Resp]Resource not found
不含信息域
C1
Excess Data
[Resp]Resource exceed max size
不含信息域
C2
Bad request
[Resp]malformed request
无法解析Request消息
C3-DF
Reserve
---
---
E0
Not impelement
[Resp]Unsupported functionality request
无法识别的request code
E1
Unsupported Version
[Resp]version not support
不支持的版本信息
E2-FE
Reserve
---
---
FF
Reject
[Resp]don’t send remaining fragment
不在接收剩余的分片信息
SNEP的协议比较简单,所以介绍的篇幅会比较少。
依照消息处理的流程,LLCP的消息会封装成SNEP,交由上层进行分析处理。此章节将重点介绍SNEP Spec中重要的部分。
1. SNEP简介
2. SNEP协议
SNEP简介
SNEP(SimpleNDEF Exchange Protocol)是通过request/response的方式进行交互,对应的服务名称(Service Name):urn:nfc:sn:snep,服务访问点(Service AccessPoint):4.
SNEP支持分片传输,传输的第一个fragment必须包含完整的Header信息,示意图如下:
分片传输示意图如下:
需要注意的是:
1. 接收方收到第一个分片信息后,需要回复continue PDU给发送方。发送方收到continue PDU后,会继续传输剩余的分片信息。如果接收方不支持对应的Version,则不会回复continue PDU,并放弃接收后续数据。
2. SNEP中检查Version时,如果Major不一致时,可能会返回unsupportedversion;如果只是minor版本不一致,则会采用低版本的协议进行沟通
SNEP协议
主要从request和response两个方面进行介绍。
request和response的封包格式如下:
由于Request/Response中的type字段都是由8bits数据表征其含义,所以整理了总表如下:
代码
名称
说明
解释
00
Continue
[Req]Send remain fragment
Client请求Server发送剩余分片信息
01
Get
[Req] Server should return a NDEF MSG
请求Server发送NDEF,此消息含Client能接收的最大消息长度
02
Put
[Req]Server should accept a NDEF MSG
请求Server接收NDEF,理论上Server端不要支持此部分
03-7E
Reserve
---
----
7F
Reject
[Req]Server should not send remaining msg
停止发送数据,此消息不含information field
80
Continue
[Resp] Send remain fragment
Server回复的消息过长时,会以frag的方式发送
81
Success
[Resp] Operation Success
回复PUT时不含信息域,回复GET时含信息域
82-BF
Reserve
---
---
C0
Not Found
[Resp]Resource not found
不含信息域
C1
Excess Data
[Resp]Resource exceed max size
不含信息域
C2
Bad request
[Resp]malformed request
无法解析Request消息
C3-DF
Reserve
---
---
E0
Not impelement
[Resp]Unsupported functionality request
无法识别的request code
E1
Unsupported Version
[Resp]version not support
不支持的版本信息
E2-FE
Reserve
---
---
FF
Reject
[Resp]don’t send remaining fragment
不在接收剩余的分片信息
SNEP的协议比较简单,所以介绍的篇幅会比较少。
- [NFC]SNEP协议介绍
- [NFC]SNEP协议介绍
- [NFC]LLCP协议介绍
- [NFC]LLCP协议介绍
- [NFC]NDEF和RTD协议介绍
- [NFC]NDEF和RTD协议介绍
- NFC介绍
- NFC介绍
- NFC介绍
- NFC协议学习分享
- NFC协议学习分享
- nfc协议大纲汇集
- NFC协议学习分享
- NFC协议学习 <1>
- [FIDO]U2F NFC协议
- NFC协议概述
- FIDO U2F NFC协议
- nfc协议(转)
- 算法设计与应用基础
- [NFC]LLCP协议介绍
- 【java】WebSocket(一)——管道式编程
- android下拉菜单spinner的使用方法
- [PAT-乙级]1038.统计同成绩学生
- [NFC]SNEP协议介绍
- JavaScript-基于对象的语言
- C++ primer plus 阅读记录-类继承
- shader 着色器
- centos系统下通过scrapyd部署python的scrapy
- vscode配置Python、markdown和模板字体
- [NFC]NDEF和RTD协议介绍
- 电脑病毒之随便聊聊--永恒之蓝
- Python 读书笔记 (2)