经过三个月的学习,我发现进度比较慢。照这个进度下去,平均一周花费5-6小时,还不知道读完全书需要多久。

现在做个计划,全书除开简介部分分为 基础 和 高级 套接字编程两部分,其中

基础可以分为

  • TCP 套接字编程
  • UDP套接字编程
  • SCTP套接字编程

高级部分是可以独立阅读的部分。

我的期望是两个月(40小时)读完全书的第二部分,两个月完成该部分作业,梳理清楚主要概念,并完成笔记。即在二月份钱读完第二部分,四月份前完成该部分作业。

2018.11.28

今天读完了unp第一章,并通过一个c程序,向本机发送一个TCP请求,读取返回的时间信息并展示。

通过netstat 和 ifconfig 对unix环境下的网络接口和路由表 进行获取。

11.29

读完2.8。 完成了一章的习题,在阿里云ECS上部署了发送时间服务器,在自己机器上运行 请求时间客户端,建立连接。

了解TCP的三次握手, 四次挥手。 TCP的11种状态。

11.30

读完第二章。主要是描绘了TCP/IP协议的外貌,并重点介绍了传输层的三个协议:TCP的三次握手,四次挥手和TCP的Time wait状态,套接字层提供的缓冲机制。

了解了IPv5是一种为流媒体提供实时传输的协议,已经包含在IPv6中。把一个完整的TCP连接所发生的建立连接,传送数据,断开连接的分组交换情况画图记录下来。

12.24

读完第三章,并完成习题3.3。

编写inet_pton_loose代码,这是一个比inet_pton限制更少的函数。当协议为ipv4时,inet_pton要求 参数为点分十进制数字符串;ipv6时,要求参数为十六进制的字符串。

这个函数当inet_pton解析失败时,尝试调用inet_aton这个限制更少的函数来返回结果。

1.10

读完第四章,正在读第五章。理解了一个通过Fork子进程实现并发的服务器 与 一个打印发送信息回声的客户端 的交互过程。明白信号的作用。

1.14

读完第五章。

理解信号处理函数的作用是处理僵死子进程。

使用waitpid处理阻塞中的信号。服务器终止时,客户端阻塞在connect方法上,没有收到终止信号,使用select/epoll将可以监听多个描述符并返回其中就绪的。

客户端与服务器通信时如果传输数值数据,可能引发新问题。

目前进度:离二月份还有两周半,读完一半,进度稍慢。

读unp并动手实践的更多相关文章

  1. [转帖]Docker从入门到动手实践

    Docker从入门到动手实践 https://www.cnblogs.com/nsky/p/10853194.html dockerfile的图很好呢. 但是自己没有做实验 , 其实知识都挺好. do ...

  2. 【原创 深度学习与TensorFlow 动手实践系列 - 4】第四课:卷积神经网络 - 高级篇

    [原创 深度学习与TensorFlow 动手实践系列 - 4]第四课:卷积神经网络 - 高级篇 提纲: 1. AlexNet:现代神经网络起源 2. VGG:AlexNet增强版 3. GoogleN ...

  3. 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇

    [原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...

  4. 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践

    [原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践

  5. 【原创 Hadoop&Spark 动手实践 13】Spark综合案例:简易电影推荐系统

    [原创 Hadoop&Spark 动手实践 13]Spark综合案例:简易电影推荐系统

  6. 【原创 Hadoop&Spark 动手实践 8】Spark 应用经验、调优与动手实践

    [原创 Hadoop&Spark 动手实践 7]Spark 应用经验.调优与动手实践 目标: 1. 了解Spark 应用经验与调优的理论与方法,如果遇到Spark调优的事情,有理论思考框架. ...

  7. 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)

    [原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...

  8. 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)

    [原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...

  9. 【原创 Hadoop&Spark 动手实践 11】Spark Streaming 应用与动手实践

    [原创 Hadoop&Spark 动手实践 11]Spark Streaming 应用与动手实践 目标: 1. 掌握Spark Streaming的基本原理 2. 完成Spark Stream ...

随机推荐

  1. [Thu, 9 Jul 2015 ~ Tue, 14 Jul 2015] Deep Learning in arxiv

    这一期的神作论文有蛮多的,都很有意思. Feature Representation In ConvolutionalNeural Networks 该论文中论述了在某种CNN结构下,是否有准确率较高 ...

  2. Hudson版本控制 (备注)

    http://www.ttlsa.com/tools/install-hudson-on-linux/

  3. oracle中imp导入数据中文乱码问题(转)

    (转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后, ...

  4. WatchDog工作原理

    Android系统中,有硬件WatchDog用于定时检测关键硬件是否正常工作,类似地,在framework层有一个软件WatchDog用于定期检测关键系统服务是否发生死锁事件. watchdog的源码 ...

  5. NOIP模拟 table - 矩阵链表

    题目大意: 给一个n*m的矩阵,每次交换两个大小相同的不重叠的子矩阵,输出最后的矩阵 题目分析: 这题向我们展示了出神入化的链表是如何炼成的.思想都懂,实现是真的需要技术,%%% 用一副链表来表示该矩 ...

  6. Swagger与postman使用心得

    Swagger接口文档,在线自动生成模板和页面.服务器地址加上swagger-ui.html后缀即可访问到(https://域名:端口号/swagger-ui.html). 使用时在java代码中引用 ...

  7. Java String对象的经典问题(转)

    public class StringTest { public static void main(String[] args) { String strA = "abc"; St ...

  8. linux下Java程序中插入DB中国的数据乱码问题

    首先,插入到DB数据,在Linux在查询时,现场展示??. 再次,在windows连接到db上,查看的结果并非乱码. 改动Eclipse软件中的编码:如上图:windows菜单->prefere ...

  9. 【t096】树的序号

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 我们可以用下面的方案给二叉树标号: 空树的序号为0. 只有一个根结点的树序号为1. 所有包含m个结点的 ...

  10. 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法

    免安装Oracle客户端使用PL/SQL连接Oracle      大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的.有没要想过不安装Oracle客户端直接连接Oracl ...