基于Linux的图形使用者界面火车售票系统

发布日期:2021年10月14日
基于Linux的图形使用者界面火车售票系统 基于Linux的图形使用者界面火车售票系统

本内容试读结束

下载后可阅读完整内容,立即下载

本文阐述了一款基于Linux操作系统与Android相结合的火车售票系统。在Linux上使用C语言进行服务端的编写,通过GCC、Makefile对代码进行编译,并利用GDB和tcpdump调试工具进行调试程序,同时使用Linux系统上的pycharm软件进行python爬虫的编写,对12306网站的车票进行爬取。此外,使用Windows系统上的Android studio软件对安卓APP进行编程,将Linux服务端通过socket通信与安卓APP进行通信。最后实现了一个服务端、多个客户端的火车售票系统,其具有爬取12306网站的车票信息、登录/注册账号、用户买票/退票/改签、管理员修改车票/用户信息等功能。

随着科技的不断发展以及互联网的进步,许多在线下才能完成的事情,已可以通过互联网的帮助, 在手机或者电脑上完成,而为人们节省下许多时间。早期购买火车票时,都需要到各地的火车站排队, 但是在网上购票系统出现后,人们便能通过轻松地点击手机或鼠标,就将自己所需的车票购买下来,如此提高了购票效率,为生活带来很大的便利。

由于Linux 系统具有免费和开源等特性,以及拥有多任务和丰富的网络接口(如TCP 和UDP)和更加安全的用户及文件权限策略,再加上Android 是如今主流的手机系统,所以使用Linux 和Android studio进行开发与编程,可以提供良好和稳定的服务端,也能实现一个操作便捷、随时使用的GUI (图形操作界面)的客户端,以便用户能随时随地进行操作。

本设计基于Linux 系统下来实现一个具有图形使用者界面的火车售票系统,其附有:用户买票/退票/改签、用户注册/登录、管理员管理用户/车票信息、通过python 爬虫的方式将12306 中的车票载入本地、操作简捷的安卓APP 等功能。根据以上的需求,拟定整体的设计思路与开发流程之后,确定整个设计分为服务端和客户端两个部分:服务端负责接收和处理客户端传递过来的信息,车票、用户信息的存储, 以及大部分功能的实现;客户端主要负责信息的显示,以及获取用户输入的信息,通过socket 通信将信息传递给服务端进行处理。整体设计框架如下: 1) Linux 服务端有多个线程, 分别是主线程负责接收客户端的连接, 然后将连接的客户端标志写入连接状态表中;分线程1 负责监听连接状态表中的客户端是否有发送消息过来,如果有就将消息写入数据缓冲区;还有n 个分线程2 负责监听数据缓冲区是否具有数据,如果有数据就将数据进行对应的处理。

2) 安卓客户端大体是分为不同的活动,以及一个为了长时间连接客户端,以及服务端能检测到客户端保持在线,而持续发送的心跳包的服务。服务是在运行APP 初就开始持续执行的,活动的运行则是在主活动运行之后,根据用户不同的操作,切换到不同的活动中。

2. 程序开发环境介绍 本设计进行开发所使用的程序,简单的概述如下:



相关标签