博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页

2011年4月29日

摘要: 1. 我目前在Linux中运行的程序通常是在Shell 之上运行的,Shell 已经设定好了 standard input(键盘) 和 standard output(显示器). 2. 许多程序都默认 standard input 的 file descriptor 是 0, standard output 的 file descriptor 是 1。在<unistd.h>中定义了两个常量来表示... 阅读全文

posted @ 2011-04-29 22:05 天地玄黄 阅读(208) 评论(0) 推荐(0) 编辑

2011年4月28日

摘要: 这一章比较混乱,现在整理一下。 一、数据结构: 1、hostent: 这个数据结构用在gethostbyname这个函数中,表示与host 相关的一些 entries. struct hostent { char *h_name; /* official (canonical) name of host */ char **h_aliases; /* pointer to array of po... 阅读全文

posted @ 2011-04-28 11:02 天地玄黄 阅读(340) 评论(0) 推荐(0) 编辑

2011年4月23日

摘要: 在C语言中,static关键字的引入最先是为了表示 退出一个块后(即退出某个函数之后)仍然存在的局部变量。随后,C中的static 有了第二种含义:用来表示不能被其他文件访问的全局变量和函数。 static 对三个东西进行修饰:局部变量、全局变量、函数。 1、修饰局部变量 static 修饰局部变量时,表示这个变量在这个函数退出之后并不消失,当再次进入这个函数时,这个变量中存放的值还是和退出时候... 阅读全文

posted @ 2011-04-23 14:36 天地玄黄 阅读(323) 评论(0) 推荐(0) 编辑

2011年4月22日

摘要: C语言程序各种各样的编码风格,我比较推崇的一种是K&R 书上的模式。下面是从《Unix Network Programming》上抄的一个样例,可以参看一下书写格式: 1 /* This is a C program templete. 2 */ 3 #include "unp.h" 4 5 int main(int argc, char **argv) 6 { 7 char *ptr, **p... 阅读全文

posted @ 2011-04-22 19:48 天地玄黄 阅读(773) 评论(0) 推荐(0) 编辑

2011年4月21日

摘要: 原文网址:http://cxw06023273.iteye.com/blog/867304 SCTP协议在UNP第2版中还未提及,是在第3版中新增加的,在第9、10、23章介绍SCTP。 SCTP就好象是TCP和UDP的综合体,既可以单播也能多播,而且连接建立过程使用4次握手而不是TCP的3次握手,在相当程度上防止了类似TCP中的syn flood的攻击方法。 SCTP是面向消息而不是面向连接的,... 阅读全文

posted @ 2011-04-21 21:48 天地玄黄 阅读(713) 评论(0) 推荐(0) 编辑

摘要: 在IPv4中,一个datagram 的大小最大为65535(2^16), IPv4的header 为20 bytes,UDP的header 为8 bytes,所以,data的大小最大就为65507 bytes。 使用Figure 8.7中的Client 的主函数,其中dg_cli 函数重新写了一下,让它可以传送最大的datagram: #include "unp.h"#include <neti... 阅读全文

posted @ 2011-04-21 21:05 天地玄黄 阅读(576) 评论(0) 推荐(0) 编辑

摘要: 学习《Unix Network Programming》,有一些问题,随遇随写。我所用的书是 W. Richard Stevens, Bill Fenner, Andrew M. Rudoff. UNIX网络编程 卷1:套接字联网API, 英文版 第三版. 人民邮电出版社, 2009年11月第1版 1、 Figure 8.5, P.243:文中说每个TCP都有自己的Buffer,那么这个Buff... 阅读全文

posted @ 2011-04-21 20:50 天地玄黄 阅读(220) 评论(0) 推荐(0) 编辑

摘要: 我在本地目录定义了dg_cli()函数,在一个Archieve File中也定义了这个函数。 本地目录中的dgcliconnect.c 中就是这个函数的定义。另一个同样的函数在../libunp.a中。 dgcliconnect.c 编译之后的文件为 dgcliconnect.o。 链接的时候,先链接本地的.o文件,再链接库文件,不会出错: cattz@Ubuntu:~/unp/unpv13e/c... 阅读全文

posted @ 2011-04-21 11:14 天地玄黄 阅读(3087) 评论(0) 推荐(0) 编辑

2011年4月20日

摘要: 函数原型为: #include <netinet/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); Return: 0 if OK, –1 on error 这个函数用于获得socket的各种特性,即socket options. 结果放在函数的后两个参数中,... 阅读全文

posted @ 2011-04-20 14:27 天地玄黄 阅读(18866) 评论(1) 推荐(0) 编辑

摘要: The following is the code coming from Uinx Network Programming on page 235: int flags; /* set a socket as nonblocking */if( (flags = fcntl(fd, F_GETFL, 0)) < 0) err_sys("F_GETFL error");flags |= O_NON... 阅读全文

posted @ 2011-04-20 10:48 天地玄黄 阅读(313) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页