标签:状态机 包括 val passwd 数据库连接池 epoll 相关 用户 connect
以一个请求到来具体的处理过程介绍项目工作流程,具体包括web端和服务器建立连接,访问服务器数据库完成登录和注册,并通过定时器完成非活动连接的处理,最后服务器运行状态通过日志系统进行记录。
测试前确认已安装MySQL数据库
//建立yourdb库
create database yourdb set utf8;
//创建users表
USE yourdb;
CREATE TABLE users(
username char(50) NULL,
passwd char(50) NULL
)ENGINE=InnoDB;
//添加数据
INSERT INTO users(username, passwd) VALUES('name', 'passwd');
修改main.c中的数据库初始化信息
//root root为服务器数据库的登录名和密码
connection_pool *connPool=connection_pool::GetInstance("localhost","root","root","yourdb",3306,5);
修改http_conn.cpp中的数据库初始化信息
//root root为服务器数据库的登录名和密码
connection_pool *connPool=connection_pool::GetInstance("localhost","root","root","yourdb",3306,5);
修改http_conn.cpp中的root路径
const char* doc_root="/home/qgy/github/ini_tinywebserver/root";
打开http_conn.cpp中CGI,关闭同步线程
380 //同步线程登录校验
381 //#if 0
423 //#endif
425 //CGI多进程登录校验
426 #if 0
495 #endif
修改sign.cpp中的数据库初始化信息
//root root为服务器数据库的登录名和密码
connection_pool *connPool=connection_pool::GetInstance("localhost","root","root","yourdb",3306,5);
生成check.cgi
make check.cgi
将生成的check.cgi放到root文件夹
cp ./check.cgi ./root
关闭http_conn.cpp中CGI,打开同步线程
380 //同步线程登录校验
381 //#if 0
423 //#endif
425 //CGI多进程登录校验
426 #if 0
495 #endif
生成server
make server
启动server
./server port
浏览器端
ip:port
标签:状态机 包括 val passwd 数据库连接池 epoll 相关 用户 connect
原文地址:https://www.cnblogs.com/qinguoyi/p/12348439.html