安卓互动课堂

# 协议主体 ## 基础 | 内容 | 详细说明 | | ---------- | ------------------------------------------ | | 字符编码 | utf-8 | | 内存字节序 | 高位编址。例:`0x00 01`(1),`0x01 00`(256) | | `null` | 置空 | | `\` | 文本分割符 | | *斜体内容* | 待定内容 | ## 帧 | 内容 | 详细说明 | | ------ | ------------------------------- | | 帧格式 | 帧长(4byte)+帧内容(不定长) | | 帧内容 | 帧类型(byte)+帧实际内容(不定长) | ## 错误重连 | 错误 | 解决方式 | | ------------------ | -------------------------- | | 服务器收到错误数据 | 断开对应客户端,客户端重连 | | 客户端收到错误数据 | 断开连接,重连 | | 网络错误 | 客户端定时重连 | ## UDP广播 1. pc端作为client发送广播,android作为server接收广播 2. 广播内容为格式如下的UTF8 String:“ip#port” ## 帧类型 1. Android |代码|定义|内容| |-|-|-| |0x01|获取连接URL|| |0x02|开始选择题|选项数(byte)/关闭(0xff),单/多选(byte 0x01单,0x02多),| |0x03|开始判断题|开始(0x01),关闭(0xff)| |0x04|开始抢答题|开始(0x01),关闭(0xff)| |0x05|消息|0x01开始,0x02结束,0x03发送消息+消息(string)| |0x06|随机挑中的人|学生总数(int)+第1个学生名字字节总长(int)+第1个学生名字(string)+第2个...| |0xff|下课|| 2. PC |代码|定义|内容| |-|-|-| |0x01|返回连接URL|URL(string)| |0x02|返回选择|学生名字字节总长(int)+学生名字(string)+答案个数(byte)+答案(byte 0x01:A 0x02:B...)| |0x03|返回判断|学生名字字节总长(int)+学生名字(string)+答案(byte 0x01:对 0x02:错)| |0x04|返回抢答|学生名字(string)| |0x05|返回消息|学生名字字节总长(int)+学生名字(string)+消息(string)| |0x06|返回挑人|无返回| |0xff|返回学生连接|(0x01连,0x02断)+学生名字(string)|