Merge branch 'master' of ssh://115.28.86.8:29418/~admin/PCB工厂智能制造_9.19_250104
6个文件已添加
1个文件已删除
4244 ■■■■■ 已修改文件
Group_王小刚/Client/卢发阳/document/C++知识点.txt 4132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Group_王小刚/Client/王小刚/document/C++知识点计划表.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
Group_马建强/Client/刘丰毅/document/LFYC笔记.doc 补丁 | 查看 | 原始文档 | blame | 历史
Group_马建强/Client/刘丰毅/document/LFYc++.doc 补丁 | 查看 | 原始文档 | blame | 历史
Group_马建强/Client/刘丰毅/document/LFY嵌入式.doc 补丁 | 查看 | 原始文档 | blame | 历史
PCB_项目总结.txt 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PCB工厂智能制造_9.19_250104 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Group_ÍõС¸Õ/Client/¬·¢Ñô/document/C++֪ʶµã.txt
New file
Diff too large
Group_ÍõС¸Õ/Client/ÍõС¸Õ/document/C++֪ʶµã¼Æ»®±í.xlsx
Binary files differ
Group_Âí½¨Ç¿/Client/Áõ·áÒã/document/LFYC±Ê¼Ç.doc
Binary files differ
Group_Âí½¨Ç¿/Client/Áõ·áÒã/document/LFYc++.doc
Binary files differ
Group_Âí½¨Ç¿/Client/Áõ·áÒã/document/LFYǶÈëʽ.doc
Binary files differ
PCB_ÏîÄ¿×ܽá.txt
New file
@@ -0,0 +1,110 @@
    ============================================
    é¡¹ç›®æ€»ç»“:
    1、服务端
        ç½‘络通信:
            tcp协议,长连接
            ç²˜åŒ…问题:tcp协议本身没有报文长度的字段
            è§£å†³çš„话是在应用层加一个自定义的数据头,在数据头里面增加一个封包长度字段,按封包长度来进行收包解包即可
            ã€ä¹Ÿå¯ä»¥åŠ ä¸€äº›ç‰¹æ®Šçš„æ ‡å¿—ä½æ¥åˆ†éš”--标志位的风险是内容可能会包含标志位,导致解包出问题】
            é’ˆå¯¹é•¿è¿žæŽ¥çš„半开闭连接,使用心跳检测来去除无用的长连接,并且进行客户端的断线重连的保活
            æ€§èƒ½ä¼˜åŒ–:由多线程升级为线程池
                çº¿ç¨‹æ± ï¼šä¸ä¼šå¯¹çº¿ç¨‹é¢‘繁的创建和销毁
                    åªæ˜¯æŽ§åˆ¶çº¿ç¨‹çš„使用,配合任务队列完成操作;
                æ“ä½œè¿‡ç¨‹ï¼š
                    æœ‰ä¸ªæ€»çš„调度,负责判断任务队列中有没有任务以及线程队列中还有没有空闲线程
                    å¦‚果有任务来并且有空闲线程,就会将任务分发给空闲线程来执行
                    ç»†èŠ‚ï¼š
                    ä»»åŠ¡é˜Ÿåˆ—ï¼š
                        æ»¡çš„话,就是达到了任务能排的最大值
                        å°±éœ€è¦æŠ›ä¸€ä¸ªæ»¡çš„异常或者使用条件变量来等待放入队列中;
                    çº¿ç¨‹é˜Ÿåˆ—:
                        çº¿ç¨‹æ•°æœ€å°å€¼ã€æœ€å¤§å€¼çš„设定
                        æœ€å°å€¼ï¼šä¿è¯å¸¸è§„的操作
                        æœ€å¤§å€¼ï¼šå¯èƒ½æœ€å¤§çš„æžé™ï¼Œåœ¨å…è®¸çš„范围内设定一个合理值
                        ã€ä¸€èˆ¬ä»Žæœ€å°åˆ°æœ€å¤§ä¹‹é—´ï¼Œå¯ä»¥ç”±å¹¶å‘量的增加来对应开辟更多数量的线程,减少也是一样的道理】
                ç”¨äº†çº¿ç¨‹æ± ä¹‹åŽï¼Œä¸šåŠ¡çš„æ“ä½œç”±åŒæ­¥çš„æ–¹å¼åˆ‡æ¢åˆ°äº†å¼‚æ­¥çš„æ–¹å¼ï¼Œæ€§èƒ½ä¹Ÿèƒ½å¾—åˆ°è¿›ä¸€æ­¥æå‡ã€‚
            é€šä¿¡æ¨¡åž‹ï¼š
                select模型:[轮询--按时间间隔每次从头到尾遍历]
                    åŸºäºŽæ•°ç»„存放套接字的轮询模型
                    æ•°ç»„长度有默认大小:windows-64,linux-1024
                    å¤§å°å¯ä»¥ä¿®æ”¹
                    é‡çº§ï¼š1000个左右[千级]
                poll模型:
                    åŸºäºŽé“¾è¡¨å­˜æ”¾å¥—接字的轮询模型
                    é“¾è¡¨æ— é•¿åº¦é™åˆ¶
                    é‡çº§ï¼š10000个左右[万级]
                epoll模型:
                    åŸºäºŽäº‹ä»¶è§¦å‘的一个poll模型,效率更高
                    ä½¿ç”¨å›žè°ƒçš„æ–¹å¼å¤„理
                    é‡çº§ï¼š1000000个左右[百万级]
        æ•°æ®åº“封装:MySQL数据库的连接数量默认最大值100个
            å•例模式--多处地方共用同一个对象
                ä¼˜ç‚¹ï¼šçœå†…å­˜
                ç¼ºç‚¹ï¼šæ•ˆçŽ‡ä¸å¤Ÿé«˜
            æå‡æ€§èƒ½ï¼šè¿žæŽ¥æ± [类似线程池的操作]
                è¿žæŽ¥æ± çš„æ ¸å¿ƒæ˜¯æœ‰ä¸€å®šæ•°é‡çš„æ•°æ®åº“连接
                æœ‰ä»»åŠ¡æ¥äº†ï¼Œå¯ä»¥ç»™ä¸€ä¸ªç©ºé—²è¿žæŽ¥ï¼Œæ¥æ‰§è¡Œä»»åŠ¡
        æ—¥å¿—封装:
            å•例模式
            æ–‡ä»¶æ»šåЍ--改名算法--用ID或者时间戳的方式改名
    2、客户端
        æœ‰ç•Œé¢ï¼Œæœ€å®¹æ˜“碰到的问题是界面卡顿的问题
        è§£å†³ï¼šå°†è€—时业务放到子线程中去执行,这样就不会阻塞主线程里面的界面响应操作,从而解决卡顿问题
        æ–‡ä»¶ä¼ è¾“:断点续传
            ä¸€èˆ¬è¦åœ¨æœåŠ¡ç«¯ä¸“é—¨å¼„ä¸ªè¡¨æ¥è®°å½•ä¸€ä¸‹ä¼ è¾“ä¿¡æ¯
            å½“发生传输中断之后,就可以通过查询记录来确定断点处
            å†å¤šæ¯”较已传内容断点之前的几个字节内容是否和原始文件的一致,一致则开始从断点处重传。
            è‹¥è®°å½•找不到或已传文件丢失都需要从头开始传输。
        è¶…大文件的读取:按行读取,不能一下子全读进来,否则内存不够用
PCB¹¤³§ÖÇÄÜÖÆÔì_9.19_250104
File was deleted