前言

此项目算是作者对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表中。