随笔分类 -  Linux编程

摘要:假设服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。提升服务器性能的一个重要方法就是采用“池”的思路,即对一组资源在服务器启动之初就被完全创建好并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户端请求时, 阅读全文
posted @ 2018-04-23 21:21 最难不过二叉树 阅读(5884) 评论(2) 推荐(1) 编辑
摘要:在写大型C/C++工程时难免会发生内存泄漏现象,系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。 常见的内存问题一共七种:1. 动态内存泄露;2. 资源泄露,比如文件指针不关闭; 阅读全文
posted @ 2018-04-13 19:40 最难不过二叉树 阅读(12555) 评论(0) 推荐(2) 编辑
摘要:现在有这么一个场景:我是一个很忙的大老板,我有100个手机,手机来信息了,我的秘书就会告诉我“老板,你的手机来信息了。”我很生气,我的秘书就是这样子,每次手机来信息就只告诉我来信息了,老板赶紧去看。但是她从来不把话说清楚:到底是哪个手机来信息啊!我可有100个手机啊!于是,我只能一个一个手机去查看, 阅读全文
posted @ 2017-07-01 14:49 最难不过二叉树 阅读(7700) 评论(0) 推荐(2) 编辑
摘要:select系统调用的的用途是:在一段指定的时间内,监听用户感兴趣的文件描述符上可读、可写和异常等事件。 select 机制的优势 为什么会出现select模型? 先看一下下面的这句代码: 这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会阻塞在那里,直到套接字连接上有数据可读,把数据读到 阅读全文
posted @ 2017-06-26 10:44 最难不过二叉树 阅读(85410) 评论(3) 推荐(29) 编辑
摘要:有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在服务器编程中,服务器可以根据不同状态或者消息类型进行相应的处理逻辑,使得程序逻辑清晰易懂。 那有限状 阅读全文
posted @ 2017-06-23 19:09 最难不过二叉树 阅读(23566) 评论(4) 推荐(8) 编辑
摘要:我的上一篇文章《Linux编程之PING的实现》里使用ICMP协议实现了PING的程序,ICMP除了实现这么一个PING程序,还有哪些不为人知或者好玩的用途?这里我将介绍ICMP另一个很有名的黑科技:ICMP洪水攻击。 ICMP洪水攻击属于大名鼎鼎的DOS(Denial of Service)攻击的 阅读全文
posted @ 2017-02-14 00:15 最难不过二叉树 阅读(13088) 评论(5) 推荐(9) 编辑
摘要:我一毕业进公司就接触到了RPC,主要是使用前辈们搭建好的RPC框架以及封装好的RPC函数进行业务开发,虽说使用RPC框架开发已经近半年了,但一直想知道如何从零开始搭建起这么一个好用的分布式通信系统框架,近日心血来潮,虽说没人教怎么搭建,但自己在网上查阅了大量资料后,开始自己一手一脚从零搭建这么一个R 阅读全文
posted @ 2017-02-08 21:44 最难不过二叉树 阅读(9988) 评论(4) 推荐(7) 编辑
摘要:PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把回复报文传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。 阅读全文
posted @ 2017-01-24 23:35 最难不过二叉树 阅读(16813) 评论(5) 推荐(2) 编辑
摘要:这篇文章将对linux下udp socket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udp socket的一些偏僻知识点,本文都会讲到。尽可能做到,读了一篇文章之后,大家对udp socket有一个比较全面的认识。本文分为两个专题,第一个是常用的upd socket框架,第二个是一些 阅读全文
posted @ 2017-01-15 20:33 最难不过二叉树 阅读(104695) 评论(6) 推荐(11) 编辑
摘要:这里说的“后门”并不是教你做坏事,而是让你做好事,搭建自己的调试工具更好地进行调试开发。我们都知道,当程序发生异常错误时,我们需要定位到错误,有时我们还想,我们在不修改程序的前提下,就能通过log来定位错误呢?有人会说,我在我的程序里加多点打印就好了,程序每做一步我就加一行打印,到时一查log就知道 阅读全文
posted @ 2017-01-14 11:34 最难不过二叉树 阅读(5722) 评论(2) 推荐(8) 编辑
摘要:我的开发组长曾经说过这么一段话“一个优秀的程序员不在于他写代码有多快,也不在于他能不能实现这个模块的功能,要实现业务实现功能谁不会啊,重要的是他的解决能力,也就说当程序出现错误时你能不能够快速定位到错误并解决它。” 是的,我也非常赞同,代码不可能完美,也可能有千奇百怪的bug,尤其是新手,犯的错误就 阅读全文
posted @ 2017-01-09 20:31 最难不过二叉树 阅读(2628) 评论(0) 推荐(1) 编辑
摘要:我这里要讲的并不是IPC中的消息队列,我要讲的是在进程内部实现自定义的消息队列,让各个线程的消息来推动整个进程的运动。进程间的消息队列用于进程与进程之间的通信,而我将要实现的进程内的消息队列是用于有序妥当处理来自于各个线程请求,避免一窝蜂的请求而导致消息的异常丢失。想想socket编程里的liste 阅读全文
posted @ 2017-01-09 20:03 最难不过二叉树 阅读(5148) 评论(0) 推荐(2) 编辑