Unix 网络编程 小结(1)

前天放话出来,昨天更新一下CS:APP第五章,虽然一直惦记着,但是还是没能看完,这里先整理一下《Unix网络编程》的心得吧,目前看到第三章,重新整理一二章。

关于《Unix 网络编程》(简称UNP): 提起Unix编程,当然要《Advanced Programming in the UNIX Environment》(APUE), 被誉为UNIX编程“圣经”。然而Unix网络编程一点也不逊色,反而我更喜欢看这本书,APUE虽然也在看,但是内容繁多而且需要大量实践,看了一章往往要消化很久,但是现在已经基本完成了网络的学习,继续深入学习Unix网络编程是很好的。

1. 关于异步回调(Asynchronous callback), 经典的Unix网络编程一般使用"客户端请求,服务器端响应"的交互模式,但是特殊情况会需要异步回调的使用(PS: Windows Phone 7 里消去了网络同步交互,几乎都使用异步回调来替代原始的请求响应模型),在后面的文章里会详细介绍。

2.  Web –> Tcp –> IP 这是前面看书时候写下来的,想体现的是协议的链接调用情况。

3. 主机 –> LAN(区域网) –>WAN(广域网) 体现的是物理的链接情况。PS: 最大的广域网是Internet。

4. 比较优先级高于赋值。

5. TCP endpoint,TCP接口又被称为TCP终结点,之所以写下来是因为WCF里面也有相似的概念,看来命名上是炒冷饭了。

6. 应用程序 –> C库函数 –>系统调用

   关于系统调用,和库函数的关系,APUE第一章(侥幸看完了)里有详细的解释,系统调用多而繁杂,用于最基础的实现,而库函数封装了系统调用,整理和划分了同类的实现。

但是在层次看来,系统调用在内核层,而库函数在应用层和内核层两者直接(当然书上是分在应用层里),也不排除内核层的函数直接暴露在应用层让程序调用,三者的关系在书上的连接是用双向的。

7. SYN, FIN, RST, ACK, PSH, URG, 最后一个是紧急情况的序号传递,以上是TCP连接控制消息。

8. PDU ( Protocol Data Unit) 在UNP里,译者花了一大版来描述在不同协议层下的PDU。而

PDU: 计算机网络对等实体间交换的单位信息称为协议数据单元(PDU)。

image

 

10 . Thread 线程调用出错返回Error值。

11. \r\n \r = 0x0D \n = 0x0A

12. call 指令把当前eip压栈并跳转,如果从多线程考虑,他应该是原子指令,可以确定的是他只有一条机器码。

此条目发表在Linux, 系统, 网络分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注