#UNIX环境高级编程第三版

UNIX网络编程读书笔记:名字与地址转换

概述在名字和数值地址间进行转换的函数:gethostbyname和gethostbyaddr:在主机名字与IPv4地址之间进行转换。仅仅支持IPv4.getservbyname和getservbyport:在服务名字和端口号之间进行转换。getaddrinfo和getnameinfo:用于主机名字和IP地址之间以及服务...

UNIX网络编程读书笔记:基本SCTP套接口编程

概述SCTP是一个较新的传输协议,于2000年在IETF得到标准化(TCP是在1981年标准化的)。它最初是为满足不断增长的IP电话市场设计的;具体地说,就是穿越因特网传输电话信令。SCTP是一个可靠的面向消息的协议,在端点之间提供多个流,并为多宿提供传输级支持。尽管SCTP和TCP之间存在一些本质性的差别,然而SCT...

UNIX网络编程读书笔记:基本UDP套接口编程

概述使用UDP编写的一些流行的应用程序有:DNS(域名系统)、NFS(网络文件系统)和SNMP(简单网络管理协议)。如下图所示,给出了典型的UDP客户/服务器程序的函数调用:客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须作为参数指定目的地(即服务器)的地址。类似地,服务器不接受来自客户...

UNIX网络编程调试工具:tcpdump、netstat和lsof

tcpdump程序tcpdump一边从网络读入分组一边显示关于这些分组的大量信息。它还能够只显示与所指定的准则匹配的那些分组。netstat程序netstat服务于多个目的:(1)展示网络端点的状态。(2)展示某个主机上各个接口所属的多播组。(3)使用-s选项显示各个协议的统计信息。(4)使用-r选项显示路由表或使用-...

UNIX网络编程读书笔记:套接口选项

概述有很多方法来获取和设置影响套接口的选项:getsockopt和setsockopt函数fcntl函数ioctl函数getsockopt和setsockopt函数这两个函数仅用于套接口。#include<sys/socket.h>intgetsockopt(intsockfd,intlevel,intop...

UNIX网络编程读书笔记:poll函数

poll函数提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。poll函数原型#include<poll.h>intpoll(structpollfd*fdarray,unsignedlongnfds,inttimeout);返回:就绪描述字的个数,0——超时,-1——出错poll函数...

UNIX网络编程读书笔记:pselect函数

函数原型pselect函数是由POSIX发明的,其原型如下:#include<sys/select.h>#include<signal.h>#include<time.h>intpselect(intmaxfdpl,fd_set*readset,fd_set*writeset,fd_...

UNIX网络编程读书笔记:shutdown函数

终止网络连接的通常方法是调用close函数。不过close有两个限制,却可以使用shutdown来避免。close把描述字的引用计数减1,仅在该计数变为0时才关闭套接口。使用shutdown可以不管引用计数就激发TCP的正常连接终止序列(由FIN开始的四个分节).close终止数据传送的两个方向:读和写。既然TCP连接...

UNIX网络编程读书笔记:select函数

select函数概况:select函数允许进程指示内核等待多个事件中的任何一个发生,并仅在有一个或多个事件发生或经历一段指定的时间后才唤醒它。作为一个例子,我们可以调用select,告知内核仅在下列情况发生时才返回:(1)集合{1,4,5}中的任何描述字准备好读,或(2)集合{2,7}中的任何描述字准备好写,或(3)集...

UNIX网络编程读书笔记:I/O模型(阻塞、非阻塞、I/O复用、信号驱动、异步)

I/O模型UNIX下可用的5种I/O模型:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O对于一个套接口上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待分组到达时,它被拷贝到内核中的某个缓冲区。第二步就是把数据从内核缓冲区拷贝到应用...

UNIX网络编程读书笔记:基本TCP套接口编程

 1、socket函数(客户端、服务器端都必须调用)参数family指明协议族(family),该参数也往往被称为协议域(domain)。所以有的书上声明如下:而且对于socket函数第一个参数,在不同书籍上可能会看到不同前缀的取值常量列表,如下两图所示:AF_xxx与PF_xxx:AF_前缀表地址族,PF_...

UNIX网络编程读书笔记:地址操纵函数

地址格式转换函数:它们在ASCII字符串(人们比较喜欢用的格式)与网络字节序的二进制值(此值存于套接口地址结构中)间转换地址。1、inet_aton、inet_addr、inet_ntoainet_aton、inet_addr和inet_ntoa在点分十进制数串(例如,”206.168.112.96“)与它的32位网络...

UNIX网络编程读书笔记:字节操纵函数

#include<strings.h>voidbzero(void*dest,size_tnbytes);voidbcopy(constvoid*src,void*dest,size_tnbytes);intbcmp(constvoid*ptr1,constvoid*ptr2,size_tnbytes);返...

UNIX网络编程学习笔记:值-结果(value-result)参数

前言当把套接口地址结构传递给套接口函数时,总是通过指针来传递的,即传递的是一个指向结构的指针。结构的长度也作为参数来传递,其传递的方式取决于结构的传递方向:从进程到内核,还是从内核到进程。1、从进程到内核从进程到内核传递套接口地址结构的函数有3个:bind、connect和sendto,这3个函数的一个参数是指向套接口...

UNIX网络编程读书笔记:套接口地址结构

前言大多数套接口函数都需要一个指向套接口地址结构的指针作为参数。每个协议族都定义它自己的套接口地址结构。这些结构的名字均以“sockaddr_”开头,并以对应每个协议族的唯一后缀结束。IPv4套接口地址结构IPv4套接口地址结构通常也称为”网际套接口地址结构“,它以”sockaddr_in“命名,定义在头文件<n...
首页上一页...1213141516...下一页尾页