当前位置: 首页 > news >正文

C++学习之游戏服务器开发十五QT登录器实现

目录

1.界面搭建

2.登录客户端步骤分析

3.拼接登录请求实现

4.发送http请求

5.服务器登录请求处理

6.客户端处理服务器回复数据

7.注册页面启动

8.qt启动游戏程序


1.界面搭建

2.登录客户端步骤分析

3.拼接登录请求实现

CGI 程序处理流程
程序员自己写程序处理各种业务
CGI 程序的输入来自 web 服务器(标准输入和环境变量)
web 服务器会将 http 报文按照 CGI 标准转换后传递给 CGI 程序
CGI 程序返回 http 数据给 web 服务器(标准输出)
请求头: web 服务器设定环境变量们传递给 cgi 程序, CGI 程序通过
getenv 函数获取
请求的身体: web 服务器直接将身体的字符串传递给 cgi 程序的标准
输入
FastCGI 程序处理
CGI 程序缺点:资源消耗大,某些初始化操作冗余
FastCGI :一共启一个进程,通过 socket 接收和回复 web 服务器传来
的请求
数据是基于 FastCGI 标准编码过的二进制数据

4.发送http请求

5.服务器登录请求处理

用户注册页面和处理
页面:点击提交后会向服务器发一个 POST 请求(身体是一串 用户
& 密码 字符串)
reg_cgi 程序,读取用户名和密码( fread 字符串处理) --- 》调用检
查用户和添加用户的函数
reg_cgi 程序,输出成功或失败的网页提示
添加用户函数: system 调用添加用户脚本(不关心返回值时)
查询用户是否存在函数: fork+exec 形式调用脚本(关心脚本执行是
否成功)
qt 界面的注册按钮槽函数中调用 QDesktopServices::openUrl ,传
入注册页 url----> 启动浏览器
登陆窗口搭建
密码输入栏 --- echoMode password

6.客户端处理服务器回复数据

7.注册页面启动

8.qt启动游戏程序

接收服务器回复的 http
在主窗口类中定义属性 QNetworkReply ,用来存某次请求的回复对
接收完 post get 函数的返回值后, connect 到某个回复处理函数
finished
回复处理函数中,若失败则弹出提示窗口
QCryptographicHash 类,
1. 创建生成器( QCryptographicHash::md5
2. addData 添加原始数据
3. result () .toHex() 获取签名值并转换成 16 进制的可显示数据
1
2
3
4 服务器处理登陆请求
取数据:先取长度( CONTENT_LENGTH ,CJSON 库解析数据并创
json 对象,调用 get 函数取用户名和密码
处理数据:调用 CheckUser 函数验证用户名和密码
回复登陆结果:创建 json 对象,设置 login_result 键的值( OK
Failed ),填 Content-Length 属性( json 字符串的长度), printf
json 字符串( ToFormatString );
启动游戏进程
调用 qproccess startdetached ()
游戏客户端和 qt 程序放到同级目录
客户端创建房间
在原登陆请求中增加一个 key 代表当前操作( create_room
服务器在原回复的基础上,增加一个 key 代表房间信息(新建的容器
的端口号)
先弹出提示框(显示房间号),然后启动游戏
服务器处理创建房间

相关文章:

  • 在C#串口通信中,一发一收的场景,如何处理不同功能码的帧数据比较合理,代码结构好
  • vue | 不同 vue 版本对复杂泛型的支持情况 · vue3.2 VS vue3.5
  • 文件【Linux操作系统】
  • JAVA猜数小游戏
  • Unity-无限滚动列表实现Timer时间管理实现
  • 不开启手机调试模式如何开发自动化脚本?
  • Linux程序地址空间
  • Git远程操作与标签管理
  • SpringCloud组件——Eureka
  • C语言对n进制的处理
  • Vue指令详解:从入门到精通
  • [创业之路-381]:企业法务 - 企业经营者,有哪些生产安全风险,哪些人承担责任?承担哪些责任?如何防范?
  • MySQL基本查询与数据操作全面解析
  • C++抽象基类定义与使用
  • 第四届商师校赛 web 1
  • Varjo-XR3在UE5中,头显中间有一个方块一直显示
  • 深度学习 从入门到精通 day_05
  • 学 Python 需要安装哪些软件?全面工具指南
  • C语言教程(十二):C 语言数组详解
  • Linux mmp文件映射补充(自用)
  • 央行研究局局长答澎湃:持续优化跨境金融服务政策工具箱,有效支持企业走出去
  • 教育部增设29种本科新专业,首建战略急需专业超常设置机制
  • “女孩被前男友泼汽油烧伤致残案”二审择期宣判
  • 隽逸不凡——北京画院藏近代篆刻家金城花鸟画赏析
  • 石中英已任新成立的清华大学教育学院院长
  • 钱理群|直面衰老与死亡