/EpollServer

A simple Server based Epoll

Primary LanguageC

EpollServer

基于Epoll模型的简单服务器实现! 实现了单个客户端与服务器的通信,以及多线程模拟多个客户端的并发测试!

文件说明

  • makefile 生成可执行文件S,SC,MS
  • Server.c 服务器实现
  • Sgclient.c 单个客户端与服务器的通信
  • Mtclient.c 模拟多个客户端的测试脚本
  • unity.h 通用函数头文件
  • userManager.h 服务器用于用户管理的库函数头文件
  • userdata.txt 用户名,密码数据记录
  • downloads 服务器上供下载的文件夹

使用

  • makefile
  • cd obj
  • ./S (运行服务器端)
  • ./SC (运行单个客户端)
  • ./MC (模拟多个客户端,运行压力测试脚本)

客户端命令|功能

  • USER NUM_24 | 用户名 NUM_24
  • PASS 12345 | 密码 12345
  • RETR | 从服务器上下载文件

服务器

  • 实现客户端的身份认证与管理
  • 输出当前并发连接数
  • 输出文件传输时当前服务器的吞吐量
  • 密码的解密
  • 命令的解析和输出

客户端

  • 发起连接请求
  • 输出服务器响应
  • 从服务器上下载文件
  • 显示当前的传输速率
  • 密码加密传输