网络通信
codinglf
专注于视频直播行业,在这个行业基类了丰富的经验,热爱开源项目。
我坚信业精于勤,只有偏执狂才能真正的成功。
喜爱的开源项目有:ffmpeg、opencv、crtmpserver、obs-studio、nginx、redis、skynet、kbengine、protobuf等等。。。
我的博客:http://blog.csdn.net/windows_nt
展开
-
Reactor与Proactor的区别
1、标准定义 两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理转载 2014-05-06 17:42:53 · 6486 阅读 · 0 评论 -
常见网络协议简介
IPv4 网际协议版本4(Internet Protocol version 4)。自20世纪80年代早期以来一直是网际协议簇的主力协议。它使用32位地址。IPv4给TCP、UDP、SCTP、ICMP和IGMP提供分组递送服务。 IPv6 网际协议版本6(Internet Protocol version 6)。自20世纪90年代中期作为IPv4的一个替代品设计的原创 2014-05-24 11:46:00 · 2518 阅读 · 0 评论 -
常见的网络编程面试题
1:tcp和udp的区别 TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不会出现丢失或乱序。 UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。 2:流量控制和拥塞控制 拥塞控制 网络拥塞现象是指到达通信子网中原创 2014-06-05 21:08:12 · 17854 阅读 · 0 评论 -
epoll示例
server代码 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024 #define MA原创 2014-06-08 00:09:49 · 2746 阅读 · 0 评论 -
linux僵死进程与并发服务器编程
序 僵死(zombie)进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。 因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zo原创 2014-05-24 17:20:43 · 1684 阅读 · 0 评论 -
Winsock I/O 模型详解
Winsock共有五种类型的套接字I/O模型,可让Winsock应用程序对I/O进行管理,它们包括: select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、overlapped(重叠)、以及completion port(完成端口)。 1、Select(选择)模型 利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数原创 2014-09-21 21:31:29 · 4902 阅读 · 0 评论