测试用例.txt
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 2k
Development Platform:

C/C++

  1. ××××××××××××××××××××××××××××××××测试工程用例×××××××××××××××××××××××××××××××
  2. 1、客户端和服务器端建立连接后
  3. 2、服务器向客户端发送响应信息(为以后使用telnet等远程工具检查Server提供服务)
  4. 3、服务器端不断的(每秒发送20次)向所有已经建立连接的客户端发送数据包
  5. 数据包:
  6. 字符型缓冲区、大小为1000BYTEs。开始是“BEGIN”开始的字符串,结尾是“END”结束的字符串。
  7. 4、客户端连接上服务器后不断的向服务器发送上述的数据包
  8. 5、检测数据正确的标准是:
  9. 首先,检测数据包的长度(已经是划分好数据边界的数据包)
  10. 其次,检查数据包开始和结束的字符串是否为“BEGIN”和“END”
  11. 最后,根据不同错误提供信息(DEBUG版本提供想细调试信息,RELEASE版本进提供关键信息)
  12. ×××××××××××××××××××××××××整合到剑侠Online里的测试方法×××××××××××××××××××××××××××
  13. 每次发送数据前将数据打上标志:
  14. # 头部打上一个结构体
  15. #pragma pack(1)
  16. typedef struct tagPackHeader
  17. {
  18. BYTE cPackBeginFlag; // 0xBF
  19. WORD wDataLen; // [PACK_HEADER] [DATA] /* wDataLen == sizeof(DATA) */
  20. WORD wCRCData; // [cPackBeginFlag | cPackEndFlag] | [wDataLen]
  21. BYTE cPackEndFlag; // 0xEF
  22. }PACK_HEADER, NEAR *PPACK_HEADER, FAR *LPPACK_HEADER;
  23. #pragma pack()
  24. # 尾部打上一个DWORD标志(剑侠中使用0xABCD0000),之所以使用这个标志是因为0xABCD出现的几率比较小,而且低位数据为零时可以保证使用函数strlen()来获取纯文本数据底长度。
  25. 注意:头和尾部任何一处有错即表明数据解析出错或者说明网络传输出错,如果数据内部出现错误可以认为小概率事件(TCP协议本身保证),而且剑侠运营时会采用数据压缩、加密以及校验的算法,所以为了考虑网络底层效率在此没有作任何数据正确的检测。
  26. 刘鹏
  27. 珠海金山公司 - 西山居
  28. 创建于2003.2