目录
前言
此项目算是作者对linux、c++知识所学的一个应用。 具体使用技术如下:- 线程池
- io复用——epoll
- mysql应用
- c++11
- tcp/ip通信
一、系统概述
本系统编写主要分为网络和业务两大模块。
1. 网络模块
网络模块用到的技术主要就是io复用以及线程池的组合。
2. io模块
io模块主要涉及数据库使用以及系统的设计。
二、数据库表属性分析
1.UserId表
账号 | 密码 |
---|
- 密码:回显的方式输入的密码
2.Ticket表
订单号 | 目的地 | 出发地 | 出发时间 | 金额 | 航空公司 |
---|
- 订单号:唯一标识机票
- 目的地:乘客提前选定的目的地
- 出发地:乘客当前地址
3.Userinfo表
用户账号 | 用户名 | 性别 | 身份证号 |
---|
- 用户账号:唯一标识用户
4.TickId_UserId表
用户账号 | 订单号 |
---|
三、io模块功能概述
1.注册
用户通过注册功能在User
表中添加账号,同时会在表Userinfo
中添加用户账号列
2.登录
用户输入账号密码,服务器在User
表中查询,并返回结果
3.个人中心
用户在个人中心补全信息,添加到Userinfo
中
3.1 已订票查询
用户发起查询请求,服务器通过用户账号在TickId_UserId
表查询到订单编号,再根据订单编号在表Ticket
查询机票信息,发送到客户端。
3.2 退票
用户输入要退的票的订单编号,然后服务器根据订单编号和用户账号在TickId_UserId
删除信息。
4.订票
用户通过输入目的地和出发地,服务器根据其在Ticket中查询信息,返回数据到客户端。客户端选定订单号,服务器将其添加到TickId_UserId
表中。