064.APP软件服务端

把文件传输服务端改为多线程,多进程全局对象是不共享的,fork复制一份,这一份和别人那份没关系。
多线程全局对象是共享的,客户端参数每一个线程上来都会变,许多线程共用一个strsendbuffer就不允许单独线程初始化。
logfile可以保留为全局变量,其他全定义为局部变量,局部变量只能用参数传递
在这里插入图片描述
socket连接需容器保存,没用容器保存时程序退出,主程序不知道有都多少个socket,只有线程知道,但线程只知道自己的,别人不知道。
文件传输服务端确实多进程合适,但有些资源需共享用多线程。
在这里插入图片描述
在这里插入图片描述
测试多任务下文件操作
测试多任务下socket操作
vpn:https://nutsvpn.city/
在这里插入图片描述
短连接:客户端要或一种数据马上建立socket连接请求,处理完一个就断开,响应慢:建立一次socket连接费时间,服务端fork一个进程也要时间,之后和数据库连接也要时间

长连接:一直连接着,用心跳,费服务端资源:长连接连上后,数据库连接和进程都已准备好,一直通信完才断开。但响应快,用户看到数据越快越好控制在1秒内

项目的组织和数据结构设计
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试服务端的性能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下在shtqappserver.cpp中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测一次访问时间算出一秒内处理多少个请求
在这里插入图片描述
在这里插入图片描述
一秒700次请求,一分钟近4万次,长连接4万socket连上,4万进程不可接受,发多个报文中间再发心跳是长连接。短连接发一次请求,连接断开一次,长短连接是客户端控制

发布了79 篇原创文章 · 获赞 108 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43435675/article/details/103929218