基于TCP通信IO多路复用的项目实战
疫情人员健康信息管理系统
1.数据库
1.1数据库中的表
在数据库中一共创建了两个表。
1.2数据库与表的创建
代码如下:
//数据库的初始化---创建并打开数据库+创建表
int db_init(char * filename)
{
int ret;
char sql[]="create table log(id text key not null,password text not null);";
char *emsg=NULL;
//创建并打开数据库
ret=sqlite3_open(filename,&pdb);
if(SQLITE_OK!=ret)
{
printf("sqlite3_open error:%s",sqlite3_errmsg(pdb));
return DB_ERROR;
}
printf("%s db open ok\n",filename);
//创建登陆表
ret=sqlite3_exec(pdb,sql,NULL,NULL,&emsg);
if(ret!=SQLITE_OK)
{
printf("create table error:%s\n",emsg);
//释放emsg指向的空间,在sqlite3_exec中申请的
sqlite3_free(emsg);
return DB_ERROR;
}
printf("登陆表创建成功\n");
//创建人员信息表
char sql1[]="create table mess(id text key not null,name text not null,age integer not null,staus text not null);";
ret=sqlite3_exec(pdb,sql1,NULL,NULL,&emsg);
if(ret!=SQLITE_OK)
{
printf("create table error:%s\n",emsg);
//释放emsg指向的空间,在sqlite3_exec中申请的
sqlite3_free(emsg);
return DB_ERROR;
}
printf("人员信息表创建成功\n");
return DB_OK;
}
2.基本功能
1、采用IO并发服务器,可以同时处理多个客户端的请求。
2、客户端先注册、登录账号或者退出。
注册功能演示如下:
当注册时数据库中已经存在该该id时,提示id已经存在,重新输入。(id是唯一的,密码没有要求。)
注册成功,对应的id和password就会被插入数据库的log表中。
登录功能演示如下:
退出功能演示:
3、管理员登陆成功后可以实现如下功能
输入对应的编号就会实现对应的功能。
例功能1:
例功能3:
3.整体项目代码框架
5.整体项目代码与Makefile文件
百度网盘:
链接:https://pan.baidu.com/s/17qRyo-xwFZMXTB02TiPVqg
提取码:0707
留下你的赞与收藏再下载吧,谢谢!!!