作业里文件介绍以及其他一些笔记
uistudyno2用于主界面
connect(ui->mainbutton,&QPushButton::clicked,this,[=]()
{ui->stackedWidget->setCurrentIndex(0); }); 用于实现跳转 或者
ui->stackedWidget->setCurrentWidget(ui->page_1);
mysql的编译写文章-CSDN博客
json的编译头文件和库文件_贪睡的蜗牛的博客-CSDN博客_头文件 库文件
gcc jsontest1.c -o mul_server -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
gcc jsontest1.c -o mul_server -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
gcc jsontran.c -o jsonserver -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
export LD_LIBRARY_PATH=/usr/local/lib/
export LD_LIBRARY_PATH=/usr/local/lib/ 这个是弄临时文件
编译mysql
gcc sqltran.c -o sqlserver -I /www/server/mysql/include -L /www/server/mysql/lib -lmysqlclient
mysql 和json 合体
gcc sqltran.c -o sqlserver -I /www/server/mysql/include -L /www/server/mysql/lib -lmysqlclient -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
makefile文件
test:a.o b.o abcd.o
gcc a.o b.o abcd.o -o test -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
a.o:a.c
gcc -c a.c -o a.o
b.o:b.c
gcc -c b.c -o b.o
abcd.o:jsontest1.c
gcc -c jsontest1.c -o abcd.o -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson
.PHONY:
c:
rm -rf test a.o b.o jsontest1.o
综合makefile代码
#生成jsonserver,原文件为jsontran.c
yunpan:yunpan.o jsontran.o sqltran.o
gcc yunpan.o jsontran.o sqltran.o -o yunpan -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson -I /www/server/mysql/include -L /www/server/mysql/lib -lmysqlclient
%.o:%.c
gcc -c $^ -o $@ -I /usr/local/include/cjson/ -L /usr/local/lib/ -lcjson -I /www/server/mysql/include -L /www/server/mysql/lib -lmysqlclient
#生成总文件yunpan,原文件yunpan.c,由于里面暂时还未分离,因此需要指明json的地址
#生成sqlserver,原文件sqltran.c
.PHONY:
rmall:
rm -rf yunpan yunpan.o jsontran.o sqltran.o
客户端连接服务器 ip 124.70.104.145 端口990
ps aux| grep mul_server kill -9 端口号
-I 是在.c 到.o 文件过程中加的
左侧的树节点按钮 5是当前目录的bro_index
code命令 3:登录 name passwd
return:3 便是让其跳到3的处理上 ,然后再看下面的让不让进入
return3: 1代表允许进入 2代表不允许进入即密码错误 3代表不存在该用户 return3bro_index
code :5 初始化界面 name bro_index
return:5 代表查询成功返回 可以向下进行
return5:
count:数量 返回了几行文件 注意,这个返回的值是int类型,并非string类型
"return_son" 为返回的数组
致命bug:
服务器检索数据的时候如果renew不是5,将会code:6,让一个函数处理,将内容加到json里面,然后yunpan里面会一直检索这个
用户注册 11
code:11 username pass
文件下载
code:7 fileid bro_index
return:7
文件上传
code:8 in_userid,in_filelocate,in_filename,in_bro_index ,in_filetype,in_filesize
in_fileid,in_filehash
in_fileid是时间 in_bro_index父节点
return:8
需要注意的是 in_fileid已经没用了,在里面自动的增加 按照返回的now_in_fileid1
return10:
return:10 出错
return10: 里面包含出错信息
code 11占用
code:13 得到所有用户名称
code:14 注册分享密码和分享代码和打开share
return 16 void avoidnet(int clifd,char recvbuf[]) 防止一次读取不全
code:15 验证分享文件id和文件密码 输入code shareid sharepass name
return 15
return15:
1 正确并用户拥有权限 此条件下返回 分享文件的bro_index 文件类型 文件大小 文件分享人数
2 密码错误
3找不到该文件
4没有权限
返回到客户端的code:17被防止粘包使用
备份
备份文件里面是7/2 15:17完成的 完成了json的转化,
7/3 9:35 完成了makefile的编辑
下面进行mysql 的访问
完成了部分收到数据和解析数据的局部化 关于cmd下面的
使用timer来进行https://blog.csdn.net/zz2862625432/article/details/79550285进度条的更新
CMD:
2登录 3注册 4查找 5插入 6删除 7共享 8下载
存储过程
插入用户 inserUserStoredProcedure
插入文件insertfileStoredProcedure
插入文件未做
fileid应该指明 210716152303 比如2021去掉20
--------------------------------------------------------------------------------
备份code2里面备份是刚弄完注册 7/25 下午
服务器备份同样也是
上述刚弄完下载、上传、注册
选择文件下载 群组下载 两个线程下载的
选择文件上传 群组上传 更新目录 两个线程上传的
树子节点的5为当前节点的bro_index
紧急任务
当有文件刷新进入,清空容器,将文件加入
选择文件下载 (是否需要加上右键 ?)
下载文件 将文件插入到下载文件容器中
上传文件 将文件插入到上传文件容器中
====================================================
后期需要做的
完善 epoll
打印宏
#define cout qDebug() <<"["<<_FILE_<<":"<<_LINE_<<"]";
json传输多了就会失败