Skip to content

xxxyue-cen/Mygraduation

Repository files navigation

此设计主要实现了一下功能

  1. 实现用户的基本注册与登陆
  2. 实现了一些简单的linux命令的交互
  3. 文件的上传与下载
  4. 用户信息的找回(账号以及密码)
  5. 用户的操作进行记录
  6. 日志、守护进程、心跳机制、以及在线用户的记录

此设计设计的基本知识

  1. c语言基本知识、数据结构(链表)
  2. linux系统编程(线程、系统IO、信号)
  3. linux网络编程(epoll)
  4. Mysql数据库(基本应用、C语言的API调用)
  5. linux内核编译与裁剪,ARM跟文件系统的制作

此设计开发环境

  1. 前期: 在ubuntu系统中完成代码的编写,调试主要也在linx系统中完成
  2. 中期: 开发环境换成smart210开发板与ubuntu; smart210开发板运行客户端;ubuntu运行服务器
  3. 后期: 开发环境加入路由器 或交换机; 服务器运行在ubuntu系统中; 客户端运行在smart210中; 由于涉及到网络中期使用一根网线将ubuntu与开发板相连,引入路由器,就可以摆脱地理位置的限制,ubuntu连接无线网,即可实现与开发板相连接

此涉及的后期拓展

此设计完全使用C语言完成,因此移植性比较强,可以在任意的带有C语言运行环境的开发板上运行,如果开发板引入无限网络以及内网穿透即可实现真正意义上的远程控制

此设计的不足与后期的更新重点

  1. 此设计由于是毕业设计,开发时间比较短,只是完成了基本的功能,在后期主要加入文件的断点续传、网络的断线重连
  2. 在在线用户列表的获取中,还有一点小bug,需要修复

运行环境搭建

  1. 此设计的运行环境主要在ubuntu系统中运行,我自己使用的win7中安装Vmware,在虚拟机中安装ubuntu16.04的系统,数据库使用的事mysql,在文件remote/source/file.sql是数据的库备份,数据库里面有两张表,一张为用户信息表。还有一张为用户的操作记录,数据库账户:root,密码:123456
  2. 配置文件主要是ip以及port的信息。默认使用的是127.0.0.1:8000
  3. 由于使用了守护进程,没有使用linux系统自带的daemon()函数,使用的是自定义的函数,所有使用时需要根据自己的系统修改文件中读取配置文件的目录(重要)
  4. 项目文件介绍:
  • server.h 服务器头文件
  • server.c 服务器代码
  • client.h 客户端头文件
  • client.c 客户端代码
  • makflie 项目管理
  • server.conf 服务器与客户端配置文件
  • file.sql 数据库备份文件
  • log 日志文件

About

remote terninal control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published