![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unix network programming
文章平均质量分 76
ZEUS199109032009
这个作者很懒,什么都没留下…
展开
-
UNIX Network Programming笔记之第二章
本章主要讲述传输层协议, 包括TCP(传输控制协议), UDP(用户数据报协议), SCTP(流控制传输协议), 这三个协议特点, 建立连接, 关闭连接, TCP状态等.TCP协议具有连接, 可靠, 复杂的特点, 它提供连接, 可靠传输, 分片, 排序, 流量控制以及全双工数据传输. 而UDP是无连接, 不可靠的协议, SCTP具有TCP相似的特性, 可靠,流量控制, 全双工数据传输, 不过和原创 2014-03-16 11:09:14 · 933 阅读 · 0 评论 -
UNIX Network Programming笔记之第七章
1. 获取、设置套接字选项#include int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);原创 2014-03-27 22:23:58 · 672 阅读 · 0 评论 -
UNIX Network Programming笔记之第六章下篇
select函数在client和server上的应用。void str_cli(FILE *fp, int sockfd) //client中的应用,不过有些不正确{ int maxfdp1; fd_set rset; char sendline[MAXLINE], recvline[MAXLINE]; maxfdp1 = sockfd + 1;原创 2014-03-24 23:45:52 · 810 阅读 · 0 评论 -
UNIX Network Programming笔记之第六章上篇
1. I/O复用 一种预先告知内核的能力, 一旦内核发现进程的一个或多个I/O条件就绪(输入已准备好被读取,或已能承载更多的输出),就告知进程。2. I/O模型 5种I/O模型: 阻塞式I/O,非阻塞式I/O,I/O复用,信号驱动式I/O,异步式I/O 阻塞式I/O:默认情形下,所有套接字都是阻塞的。前几章的都是阻塞式I/O 非阻塞I/O:当所请求I/O原创 2014-03-23 23:25:31 · 847 阅读 · 0 评论 -
UNIX Network Programming笔记之第五章下篇
第五章下篇主要讲述信号处理,其他异常情况,以及传输的数据格式。 1. 信号处理 本篇还会继续使用上篇说到的例子,上篇说到子进程结束会给父进程发送信号SIGCHLD,如果父进程不处理将会导致子进程僵死,可能会耗尽系统的进程资源。使用sigaction函数和struct sigaction结构封装signal函数,书中并没有详细说明sigaction结构及函数,下面代码会给出详细结原创 2014-03-21 23:53:52 · 835 阅读 · 0 评论 -
UNIX Network Programming笔记之第十一章(一)
第九、十章讲述SCTP协议及套接字编程, 第一次阅读暂时跳过。 第十一章讲述名字与地址转换 DNS DNS,即域名系统,主要用于主机名字与IP地址之间的转换。DNS中的条目称为RR,资源记录resource record,一共有以下若干种: 1. A A记录把一个主机名映射为一个32位的IPv4地址 2. AAAA AAAA记录把一个主机原创 2014-03-31 23:18:37 · 853 阅读 · 0 评论 -
UNIX Network Programming笔记之第十二章
IPv4与IPv6的互操作性 l原创 2014-04-15 23:51:13 · 755 阅读 · 0 评论 -
UNIX Network Programming笔记之第五章上篇
第五章的学习笔记分为上下两篇, 上篇通过分析书中一个简单的例子, 了解客户端和服务器正常启动的情形. 该章根据代码会深入探讨一些问题, 如:client和server在启动时发生了什么? client正常终止发生了什么?若server崩溃, client会发生什么等等, 通过理解这些问题能够帮助我们写出更加健壮的client和server代码. 以下是一个回射的client原创 2014-03-20 00:49:11 · 871 阅读 · 0 评论 -
UNIX Network Programming笔记之第八章
本章主要讲述UDP套接字编程, TCP套接字不一样的在于:UDP是无连接不可靠的数据报协议, 而TCP是有连接可靠的字节流协议. UDP客户端和服务器之间 可以不建立连接进行数据传输, client只使用sendto函数给服务器发送数据, 其中必须指定服务器的地址, 类似的,服务器使用recvfrom函数接收数据. recvfrom和sendto函数#include ss原创 2014-03-30 17:48:04 · 732 阅读 · 0 评论 -
UNIX Network Programming笔记之第四章
本章主要讲述socket相关函数, fork和exec函数, getsockname和getpeername函数, 以及使用fork构建简单的并发服务器. socket函数, 创建一个套接字描述符int socket(int family, int type, int protocol);成功返回socket套接字描述符, 失败返回family参数可以使用以下几种:A原创 2014-03-18 22:25:39 · 716 阅读 · 0 评论 -
UNIX Network Programming笔记之第三章
本章主要介绍socket相关基础知识, 包括套接字地址结构, 字节序, ip地址转换. 1. 套接字地址结构 IPv4套接字地址结构, 主要使用sin_family, sin_port, sin_addr这3个字段 #include struct in_addr{ in_addr_t s_addr; }; struct sockaddr_in{ uin原创 2014-03-18 19:52:49 · 861 阅读 · 0 评论 -
UNIX Network Programming笔记之第一章
要编写网络通信程序,首先了解通信用到的协议. 描述一个网络各个协议层的常用方法是OSI模型, 七层模型. 由顶向下依次是应用层,表示层,会话层,传输层,网络层,数据链路层,和物理层.其中最上三层合并为应用层, 并且顶上三层构造的是用户进程, 而底下四层通常由操作系统内核提供. 顶上三层处理具体网络应用的细节,却对通信细节了解较少,而底下四层处理的是所有通信细节. 套接字编程接口就是从顶上原创 2014-03-15 20:45:55 · 815 阅读 · 0 评论 -
UNIX Network Programming笔记之第十一章(二)
getaddrinfo函数 gethostbyname和getservbyname是j原创 2014-04-09 21:04:11 · 780 阅读 · 0 评论