
网络编程
文章平均质量分 80
wrx1721267632
这个作者很懒,什么都没留下…
展开
-
epoll 函数
epoll是Linux特有的I/O复用函数。它在现实和使用上与select,poll由很大的差异。首先,epoll使用一组函数来完成任务,而不是单个函数。其次,epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而无须像select和poll那样每次调用都要重复传入文件描述符集或事件集。但epoll需要使用一个额外的文件描述符,来唯一标识内核中的这个事件表,这个文件描述符使用使用如原创 2016-03-17 22:37:51 · 547 阅读 · 0 评论 -
IP协议详解
IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。我们将从以下两个方面较为深入的了解IP协议:原创 2016-07-20 19:32:25 · 1263 阅读 · 0 评论 -
DNS 工作原理
我们通常使用机器的域名来访问这台机器,而不是直接使用其IP地址。那么如何将机器的域名转换成IP地址呢?这就需要使用域名查询服务。原创 2016-07-20 16:18:28 · 1544 阅读 · 0 评论 -
unix网络编程 select函数和shutdown函数
select函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或多个事件发生或经历一段指定的时间 去唤醒它。原创 2016-03-15 12:10:46 · 452 阅读 · 0 评论 -
UNIX网络编程 I/O模型
一个数入操作通常包括两个不同的阶段:(1)等待数据准备。(2)从内核项进程复制数据。对于一个套结字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待的数据从网络中到达。当所等待分组到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。一. I/O模型1.阻塞性I/O模型进程调用recvfrom,其系统调用直到数据报到达且原创 2016-03-14 17:02:53 · 350 阅读 · 0 评论 -
socket
1 什么是Socket?socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭),这些函数我们在后面进行介绍。1.1 socket一词转载 2015-08-02 15:10:01 · 548 阅读 · 0 评论 -
setsockopt函数和getsockopt函数
【 getsockopt/setsockopt系统调用】 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析转载 2015-08-02 19:23:15 · 402 阅读 · 0 评论 -
TCP的那些事
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相转载 2015-11-18 19:39:56 · 397 阅读 · 0 评论 -
UNIX网络编程 poll函数
poll提供的功能于select类似,不过在处理流设备的时候,它能提供额外的信息.#includeint poll(struct pollfd *fdarray, unsigned long nfds, int timeout);第一个参数:struct pollfd {int fd; //文件描述符short events;//请求的事件short原创 2016-03-17 16:32:33 · 389 阅读 · 0 评论 -
TCP协议详解
TCP协议是TCP/IP协议族中一个重要的协议。和IP协议相比,TCP协议更靠近应用层,因此在应用程序中具有更强的可操作性。一些重要的socket选项都和TCP协议相关。原创 2016-07-21 08:25:53 · 812 阅读 · 0 评论