
linux
GoRustNeverStop
这个作者很懒,什么都没留下…
展开
-
select、poll、epoll使用小结
Linux上可以使用不同的I/O模型,我们可以通过下图了解常用的I/O模型:同步和异步模型,以及阻塞和非阻塞模型,本文主要分析其中的异步阻塞模型。一、select使用这个模型中配置的是非阻塞I/O,然后使用阻塞select系统调用来确定一个I/O描述符何时有操作。使用select调用可以为多个描述符提供通知,对于每个提示符,我们可以请求描述符的可写,可读以及是否发生错误转载 2016-01-07 22:40:08 · 651 阅读 · 0 评论 -
常见的网络编程面试题
1:tcp和udp的区别TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不会出现丢失或乱序。UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。2:流量控制和拥塞控制拥塞控制网络拥塞现象是转载 2015-12-27 18:57:53 · 38239 阅读 · 2 评论 -
线程安全的inet_ntop
找到一个线程安全的函数inet_ntopNAME inet_ntop - Parse network address structuresSYNOPSIS #include #include #include const char *inet_ntop(int af, const void *sr转载 2016-04-26 11:49:30 · 3090 阅读 · 0 评论 -
几种经典的网络服务器架构模型的分析与比较
前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接 数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文转载 2016-04-14 19:44:19 · 588 阅读 · 0 评论 -
编译错误
编译问题:error://usr/local/lib/libavformat.a(http.o): undefined reference to symbol'inflateInit2_'解决办法:添加链接库zlib编译选项中加上-lz1. Linux Develop Notes原创 2016-06-08 11:26:53 · 1966 阅读 · 0 评论 -
编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程
原文:http://blog.youkuaiyun.com/luoweifu/article/details/46595285 作者:luoweifu 转载请标名出处什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把转载 2016-07-23 12:19:59 · 709 阅读 · 0 评论 -
Linux下C程序进程地址空间布局
今天我们将从进程地址空间中典型的存储区域分配情况开始讲起,然后顺序到Linux下C程序进程地址空间布局。AD: 51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来转载 2016-08-04 16:58:38 · 1066 阅读 · 0 评论