网络编程
文章平均质量分 80
wangxiaoqin00007
这个作者很懒,什么都没留下…
展开
-
网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说 低位值小,转载 2012-03-26 10:14:39 · 615 阅读 · 0 评论 -
unix网络编程中的包裹函数
以下是unix网络编程中的包裹函数,同样适用与windows 编程:Writen 和Readn 等等/* include readn */#include "unp.h"ssize_t /* Read "n" bytes from a descriptor. */readn(int fd, void *vptr, size_t n){ size_t n转载 2012-03-27 16:16:41 · 1607 阅读 · 0 评论 -
Linux网络编程socket错误分析
源地址:http://blog.csdn.net/uestc_huan/article/details/5863614Linux网络编程socket错误分析 socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外转载 2012-07-18 17:01:53 · 2608 阅读 · 0 评论 -
剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
平时大家使用 epoll 时都知道其事件触发模式有默认的 level-trigger 模式和通过 EPOLLET 启用的 edge-trigger 模式两种。从 epoll 发展历史来看,它刚诞生时只有 edge-trigger 模式,后来因容易产生 race-cond 且不易被开发者理解,又增加了 level-trigger 模式并作为默认处理方式。二者的差异在于 level-trigg转载 2013-05-21 21:48:45 · 712 阅读 · 0 评论 -
EPOLL实现原理和应用实例
高性能的网络服务器需要同时并发处理大量的客户端,而采用以前的那种对每个连接使用一个分开的线程或进程方法效率不高,因为处理大量客户端的时候, 资源的使用及进程上下文的切换将会影响服务器的性能。一个可替代的方法是在一个单一的线程中使用非阻塞的I/O(non-blocking I/O)。 这篇文章主要介绍linux下的epoll(7)方法,其有着良好的就绪事件通知机制。我们将会使用转载 2013-10-25 11:15:00 · 1787 阅读 · 0 评论 -
事件触发机制:Poll,Select和Epoll实现原理分析
Poll和Select和Epoll都是事件触发机制,当等待的事件发生就触发进行处理,多用于linux实现的服务器对客户端连接的处理。Poll和Select都是这样的机制:可以阻塞地同时探测一组支持非阻塞的IO设备,是否有事件发生(如可读,可写,有高优先级的错误输出,出现错误等等),直至某一个设备触发了事件或者超过了指定的等待时间——也就是它们的职责不是做IO,而是帮助调用者寻找当前就绪的设备。转载 2013-11-07 13:36:05 · 10681 阅读 · 1 评论 -
Epoll实现原理解析
原文链接:http://blog.chinaunix.net/uid-20792262-id-2909847.html1. 功能介绍 epoll与select/poll不同的一点是,它是由一组系统调用组成。 int epoll_create(int size); int epoll_ctl(int epfd, int op, int fd, str转载 2013-11-07 13:47:55 · 1739 阅读 · 0 评论 -
记录Libevent延迟读回调问题的发现和解决
最近做一个Mini项目,原创 2014-09-03 16:41:04 · 5942 阅读 · 10 评论