经过三个月的学习,我发现进度比较慢。照这个进度下去,平均一周花费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. HDU2473 Junk-Mail Filter - 并查集删除操作(虚父节点)

    传送门 题意: 每次合并两份邮件,或者将某一份邮件独立出来,问最后有多少个邮件集合. 分析: 考虑初始化每个节点的祖先为一个虚父节点(i + n),虚父节点指向它自己.这样可以进行正常的合并操作. 而 ...

  2. BZOJ 2096 Pilots - 单调队列STL(deque)

    传送门 分析: 单调队列:维护两个递增.递减的队列,每次都加入新元素并更新,如果最大值(递减队首)-最小值(递增队首) > k,那么将最左段更新为前面两者中较前的那一个,并弹掉.用deque可以 ...

  3. 理解Erlang/OTP - Application

    http://www.cnblogs.com/me-sa/archive/2011/12/27/erlang0025.html 1>application:start(log4erl). 我们就 ...

  4. 为何放弃 C++ 的工作(开发慢,难度高。完全不适应互联网的快速迭代的思想)

    happypeter,2015年1月9日 昨天进燕山大学编程爱好者 QQ 群,看到有很多同学在学 C++ ,我当然是不喜欢了,因为我是做 Web 开发的嘛.所以怀着猥琐的心情,今天写篇傻傻的文章,来黑 ...

  5. jdk8-collect

    toMap 常用方式 public Map<Long, String> getIdNameMap(List<Account> accounts) { return accoun ...

  6. 检索08- SQL语句中的go与use用法

    GO 1. 作用:向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.2. 语法:一批 Transact-SQL 语句 GO 如 Select 1 Select 2 ...

  7. linux 分发同步脚本与分发命令脚本

    同步脚本,在第5步要拼接自己配置的主机名 #!/bin/bash # 获取输入参数个数,如果没有参数,直接退出 pcount=$# )); then echo no args; exit; fi # ...

  8. 使用Fiddler对android应用抓包 专题

    工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么. WinInet(“Windows Internet”)API帮助程序员使用三个常见的Inter ...

  9. JSP和Servlet学习笔记1 - 访问配置

    1. 访问 WebContent 目录下的 JSP 文件 在 WebContent 目录下的文件可以直接在浏览器中访问.新建一个 test.jsp 文件 <%@ page language=&q ...

  10. 【29.82%】【codeforces 703D】Mishka and Interesting sum

    [题解] 题意: 给n个数字组成有序数列; 给m个询问. 对于每个询问区间.输出这个区间里面出现次数为偶数次的所有数的异或值; 做法: 我们可以先求出这段区间里面所有(包括重复的数字)数字的异或值p1 ...