2012年8月7日

UNP总结 Chapter 26~29 线程、IP选项、原始套接字、数据链路访问

摘要: 此为UNP最后一段总结 Chapter30主要为代码实践 请参考UNP一、线程这里UNP的线程与APUE中讲得线程基本一致,但是APUE讲得更加细致,所以这里只列出主要内容(线程数据会稍微详细) 详细见APUE线程相关章节 或者本博文中的APUE专题1.基本线程函数:创建与终止2.线程特定数据使用线程特定数据是使现成函数线程安全的常用技巧这里重点提一下的是1).每个系统支持有限数量的线程特定数据项。系统(很可能是线程库)为每个进程维护一个数据结构,我们称之为Key结构,如下图2).Key结构中的标志指示这个数组元素是否正在使用,所有的标志初始化为"不在使用"。当一个线程调用 阅读全文

posted @ 2012-08-07 21:53 as_ 阅读(1047) 评论(0) 推荐(0) 编辑

UNP总结 Chapter 22~25 高级UDP套接字编程、高级SCTP 套接字编程、带外数据、信号驱动I/O

摘要: 一、高级UDP套接字编程1.接收标志、目的IP地址和接口索引作为recvmsg的一个例子,我们将要写一个名为recvfrom_flags的函数,它与recvfrom类似,但他还返回:返回的msg_flags值收到的数据报的目的地址(通过设置IP_RECVDSTADDR套接口选项)接收数据报接口的索引(通过设置IP_RECIF套机口选项)相关详细代码 见UNP P4632.何时用UDP代替TCP使用广播或者多播时候,因为UDP支持广播或多播类似实时音频应用的程序应使用UDP对于简单的请求-应答应用程序应使用UDP对于海量数据传输(例如文件传输)不应该使用UDP3.给UDP应用增加可靠性如果我们想 阅读全文

posted @ 2012-08-07 17:40 as_ 阅读(1314) 评论(0) 推荐(0) 编辑

UNP总结 Chapter 18~21 路由套接字、密钥管理套接字、广播、多播

摘要: 一、路由套接字1.概述在路由器接口中支持三种类型的操作1). 进程能通过写路由套接口向内核发消息。2). 进程能在路由套接口上从内核读消息,这是核心通知进程已收到一个ICMP重定向消息并进行了处理的方式。3). 进程可以用sysctl函数得到路由表或列出所有已配置的接口。2.数据链路套接口地址结构在路由套接口上返回的一些消息中包含数据链路套接口地址结构,他在<net/if_dl.h>定义struct sockaddr_dl { uint8_t sdl_len; sa_family_t sdl_family; /* AF_LINK */ uint16_t sdl_i... 阅读全文

posted @ 2012-08-07 15:52 as_ 阅读(2644) 评论(0) 推荐(0) 编辑

UNP总结 Chapter 15~17 Unix域协议、非阻塞式I/O、ioctl操作

摘要: 一、Unix域协议Unix域协议并不是一个实际的协议族,它只是在同一台主机上进行客户-服务器通信时,使用与在不同主机上的客户和服务器间通信时相同的API(套接口或XTI)的一种方法。当客户和服务器在同一台主机上时,Unix域协议是IPC通信方式的一种替代品。Unix域提供了两种类型的套接口:字节流套接口(与TCP类似)和数据报套接口(与UDP类似)。1.Unix域套接口地址结构struct sockaddr_un { sa_family_t sun_family; /* AF_LOCAL */ char sun_path[104]; /* null-terminat... 阅读全文

posted @ 2012-08-07 12:59 as_ 阅读(1271) 评论(0) 推荐(0) 编辑

导航