上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 59 下一页
摘要: 这两个函数是最通用的I/O函数。实际上我们可以把所有read、readv、recv和recvfrom调用替换成recvmsg调用。类似地,各种输出函数调用也可以替换成sendmsg调用。 #include ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);ssize_t sendmsg(int sockfd, struct... 阅读全文
posted @ 2014-03-18 11:40 ITtecman 阅读(7473) 评论(0) 推荐(0) 编辑
摘要: 这两个函数类似于read和write,不过readv和writev允许单个系统调用读入到或写出自一个或多个缓冲区。这些操作分别称为分散读(scatter read)和集中写(gather write),因为来自读操作的输入数据被分散到多个应用缓冲区中,而来自应用缓冲区的输出数据则被集中提供给单个写操作。 #include ssize_t readv(int filedes, const s... 阅读全文
posted @ 2014-03-18 10:05 ITtecman 阅读(1478) 评论(0) 推荐(0) 编辑
摘要: 这两个函数类似于标准的read和write函数,不过需要一个额外的参数。 #include ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);返回:读入或写出字节数——成功;-1... 阅读全文
posted @ 2014-03-18 09:35 ITtecman 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的。 但是,GUN中却允许使用,而且,很多时候,应用在了变长结构体中,如: StructPacket{ int state; int len; char cData[0]; //这里的0长结构体就为变长结构体提供了非常好的支持};首先对0长数组做一个解释:用途 ... 阅读全文
posted @ 2014-03-12 22:52 ITtecman 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 概述 应用程序可以绕过传输层而直接使用IPv4和IPv6,这称为原始套接口(raw socket)。http://www.cnblogs.com/nufangrensheng/p/3583435.html。 原始套接口是一种对原始网络报文进行处理的套接口。原始套接口主要应用在底层网络编程上,同时也是网络黑客的必备手段。例如sniffer、拒绝服务(DoS)、IP地址欺骗等都需要在原始套接字的基... 阅读全文
posted @ 2014-03-12 16:07 ITtecman 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 概述 UNIX域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法,所用API与在不同主机上执行客户/服务器通信所用的API(套接口API)相同。UNIX域协议可视为进程间通信(IPC)方法之一。 UNIX域提供两类套接口:字节流套接口(类似TCP)和数据报套接口(类似UDP)。 使用UNIX域套接口的理由有3个: 在源自Berkeley的实现中,UNIX域套接口往... 阅读全文
posted @ 2014-03-12 09:26 ITtecman 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 概述 在名字和数值地址间进行转换的函数: gethostbyname和gethostbyaddr:在主机名字与IPv4地址之间进行转换。仅仅支持IPv4. getservbyname和getservbyport:在服务名字和端口号之间进行转换。 getaddrinfo和getnameinfo:用于主机名字和IP地址之间以及服务名字和端口号之间的转换。(这两个函数是协议无关的) 域名系统 ... 阅读全文
posted @ 2014-03-11 21:27 ITtecman 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 诸如BASIC和FORTRAN等许多语言都不支持指针。如果需要链表而又不能使用指针,这时我们可以使用游标(cursor)实现法来实现链表。 在链表的实现中有两个重要的特点: 数据存储在一组结构体中。每一个结构体包含有数据以及指向下一个结构体的指针。 一个新的结构体可以通过调用malloc而从系统全局内存(global memory)得到,并可以通过free而被释放。 游标法必须能够模仿实现... 阅读全文
posted @ 2014-03-11 20:40 ITtecman 阅读(5515) 评论(0) 推荐(1) 编辑
摘要: 基数排序是桶式排序的推广。——《数据结构与算法分析:C语言描述》实例分析基数排序算法思想:假设我们有10个数,范围在0-999之间,我们要将其排序。显然,我们不能使用桶式排序,考虑最坏的情况下我们将需要使用1000个桶,这样桶就太多了。我们的策略是使用多趟桶式排序(对于十进制数来说,其基数为10,对... 阅读全文
posted @ 2014-03-11 10:07 ITtecman 阅读(2785) 评论(0) 推荐(1) 编辑
摘要: 概述SCTP是一个较新的传输协议,于2000年在IETF得到标准化(TCP是在1981年标准化的)。它最初是为满足不断增长的IP电话市场设计的;具体地说,就是穿越因特网传输电话信令。SCTP是一个可靠的面向消息的协议,在端点之间提供多个流,并为多宿提供传输级支持。尽管SCTP和TCP之间存在一些本质性的差别,然而SCTP的一到一(one-to-one)接口与TCP提供的应用接口非常接近。这一点允许轻而易举地移植应用程序,不过没法使用SCTP的某些高级特性。SCTP的一到多(one-to-many)接口提供了这些特性的完全支持,然而可能需要费时费力地重新编写已有的应用程序。对于使用SCTP开发的 阅读全文
posted @ 2014-03-10 22:16 ITtecman 阅读(1347) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 59 下一页