摘要: 1、要敢于重构代码 在一个开发团队中,很多人即使发现问题,但考虑到这坨屎不是自己亲自拉的,因此放弃了重构的打算;或者担心修改后引入其它问题, 反而会带来更多的风险,尤其是对已经发布的版本(或历史遗留版本)会更加谨慎,万一屎中有雷呢,万一是连环雷呢?炸一脸该怎么收场? 就算炸不到自己,万一炸到无辜的同 阅读全文
posted @ 2022-03-09 11:47 一只会铲史的猫 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一、服务器类软件 1.1、 HttpServer 一款Windows平台下基于IOCP模型的高并发轻量级web服务器。 技术特点如下: 1、完全采用IOCP模型,实现真正的异步IO,高并发、高可靠; 2、支持4G以上文件下载; 3、支持断点续传; 4、轻量级,体积小,服务器文件仅200多K,无任何依 阅读全文
posted @ 2022-03-09 09:47 一只会铲史的猫 阅读(291) 评论(1) 推荐(0) 编辑
摘要: 编写web程序经常要进行接口调测,通常我们会使用curl或者postman等工具,通过这些工具可以方便的发送GET或POST请求来验证接口的正确与否。 对于复杂的接口业务,我们可以通过这些工具构造post data、query string、以及request header来完成这些接口的验证,从而 阅读全文
posted @ 2022-03-04 15:46 一只会铲史的猫 阅读(904) 评论(5) 推荐(1) 编辑
摘要: 2021年4月写过一个轻量级的web服务器HttpServer,见文章: 《HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器》,但一直没有时间添加Openssl功能,也就是将HTTP拓展为HTTPS,从而提供安全访问功能。 没时间只是一方面,关键是集成open 阅读全文
posted @ 2022-01-13 11:25 一只会铲史的猫 阅读(1649) 评论(1) 推荐(5) 编辑
摘要: 该案例中包含一个基于web网页的前端程序,该案例会使用websocket与IM服务器(imserver)进行通信。 一、环境准备 1、下载 “imserver网页调用案例”,并解压到指定目录。 2、进入“web/js”目录中,使用文本编辑器打开“main.js”文件。 修改websocket的连接地 阅读全文
posted @ 2021-12-27 17:10 一只会铲史的猫 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 如果是编写一个服务器demo,比较简单,只要会socket编程就能实现一个简单C/S程序,但如果是实现一个健壮可靠的服务器则需要考虑很多问题。下面我们看看需要考虑哪些问题。 一、维持心跳 为何要维持心跳,TCP难道不是一个安全可靠的连接么?正常情况下,C端和S端无论是谁掉线,对方都能感知到。从而进行 阅读全文
posted @ 2021-12-24 15:48 一只会铲史的猫 阅读(534) 评论(0) 推荐(7) 编辑
摘要: 05年的时候写了一个邮箱客户端程序。当时主要目的是研究POP3和SMTP协议,同时锻炼自己的网络编程能力。当然了,如果自己写的邮箱客户端能够满足自身的日常工作需要,而不是频繁的登录不同的网页邮箱,那就再好不过了。时隔16年,给popmail增加了SSL(TLS 1.2)会话,感觉安全了一点,邮件再也 阅读全文
posted @ 2021-12-22 11:27 一只会铲史的猫 阅读(1697) 评论(10) 推荐(23) 编辑
摘要: IM服务器要实现的最基本功能就是消息的转发。——好像是一句废话! 这就意味着IM服务器要为每个登录用户创建一个与该用户信息相关的内存上下文,为方便描述我们在这里称之为:user_context。user_context中一般包含这些基本信息:用户id、昵称、peer端的ip和端口,以及最重要的用于通 阅读全文
posted @ 2021-11-02 16:19 一只会铲史的猫 阅读(979) 评论(3) 推荐(2) 编辑
摘要: 一、服务器特点 01、傻瓜式部署,一键式启动; 02、单机支持10万以上在线用户聊天(8G内存,如果内存足够大,并发量可超过10万); 03、支持服务器集群,集群间高内聚、低耦合,可动态横向扩展IM服务器,最大支持200台IM服务器的集群; 04、高并发、高稳定性; 05、支持群组聊天; 06、IM 阅读全文
posted @ 2021-11-01 17:29 一只会铲史的猫 阅读(1530) 评论(6) 推荐(3) 编辑
摘要: 编写服务器程序时,需要频繁的申请和释放内存,长时间运行会产生大量的内存碎片,这就导致即使当前系统中的闲置内存还足够多,但也无法申请到大的连续可用的内存块,因为此时的物理内存已经千疮百孔像个马蜂窝。此外,在高并发的情况下频繁的malloc/free也是一笔额外的cpu负担。 如何解决内存碎片呢? 在这 阅读全文
posted @ 2021-09-15 14:55 一只会铲史的猫 阅读(1072) 评论(0) 推荐(1) 编辑