4. 4. 2标识位
采用Ox7e表示,若校验码、消息头以及消息体中出现0x7e,则要进行转义处理,转义
规则定义如下:
0x7e<——>0x7d后紧跟一个0x02;
0x7d<——>0x7d后紧跟一个0x01。
4. 4. 4校验码
校验码指从消息头开始,同后一字节异或,直到校验码前一个字节,占用一个字节
标识位------- 消息体------- 校验码------- 标识位 整个包内容。
上面基本上可以保证包的数据是正确接受的。然后就看你内容要怎么搞。你可以把json字符串以utf-8转字节放进去。然后另一边以utf-8解析。然后2边都解析被解析后的字符串为json对象来交互。
我只是提供思路。因为协议很多,http、email、jt808,很多很多你可以自己看,或者看别人的文章是怎样设计协议。
更多问题可以去php中文网问答社区提问http://www.php.cn/wenda.html,大神在线帮你解决,希望对你有帮助
一般是这么做的,可先灰掉注册按钮,注册按钮的文本显示阅读协议,然后倒计时5秒后启用注册按钮,把按钮文本改为注册。
<html><head></head>
<body>
<script type="text/javascript">
var count = 15
function changeState(){
count --
var btn = document.getElementById('btn')
if(count <= 0){
btn.disabled = false
btn.value = "注册"
return
}
btn.value = "请阅读协议("+count+")"
setTimeout(changeState,1000)
}
window.onload = changeState
</script>
<textarea>协议内容协议内容协议内容协议内容协议内容协议内容</textarea>
<br/>
<input type="button" disabled onclick="" id="btn" value="请阅读协议(15)"/>
</body>