经过三个月的学习,我发现进度比较慢。照这个进度下去,平均一周花费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. Linux中vim编辑器莫名下方出现H的问题

    在使用vim编辑文件的时候,不知道自己是按了哪个快捷键,导致了,每次编辑文件时,下方命令行出现数字+H的格式命令,使得整个文件没法编辑,强制退出后进入不能解决问题,各种文件的编辑都不行,找不出原因,最 ...

  2. 双机热备的Quartz集群

    sqlserver搭建高可用双机热备的Quartz集群部署[附源码]   一般拿Timer和Quartz相比较的,简直就是对Quartz的侮辱,两者的功能根本就不在一个层级上,如本篇介绍的Quartz ...

  3. NOIP模拟 MST - 类次小生成树

    题目大意: 给一张无向图,可以将图中权值为v的边修改为k-v,求修改后的最小生成树边权和. 题目分析: 最小生成树的环切定理:任何非树边一定比对应树链上的所有边权值要大.否则我们可以将链上最大的树边删 ...

  4. 自定义view布局过程详解

    布局过程,就是程序在运行时利用布局文件的代码来计算出实际尺寸的过程. 布局分为两个阶段:测量阶段和布局阶段. 测量阶段:从上到下递归地调用每个 View 或者 ViewGroup 的 measure( ...

  5. react中属性默认值是true?

    看到项目代码中 return ( <MyWebView state="Login" title="登录app" ref="login" ...

  6. SQL Server 存储过程之嵌套游标

    下面是一个订单取消的含2个游标的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[CancelOrde ...

  7. Configuring a remote m-phy

    An interface for low power, high bandwidth communications between units in a device in provided here ...

  8. 恩布拉科业务IM 1.8 版本号,内部沟通软件

    恩布拉科业务IM,开源企业IM,免费企业即时通讯,内部沟通平台,Entboost通告v1.8版本号,主要版本更新: 管理中心添加系统监控.集群管理二大功能模块:添加云盘空间.离线消息.文件大小等參数配 ...

  9. Entity Framework加载数据的三种方式。

    MSDN文章Loading Related Entities 有 Eagerly Loading Lazy Loading Explicitly Loading 三种方式. 而看到查询中包含Inclu ...

  10. Netty源代码学习——EventLoopGroup原理:NioEventLoopGroup分析

    类结构图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29ya2luZ19icmFpbg==/font/5a6L5L2T/fontsize/400/f ...