读unp并动手实践
经过三个月的学习,我发现进度比较慢。照这个进度下去,平均一周花费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并动手实践的更多相关文章
- [转帖]Docker从入门到动手实践
Docker从入门到动手实践 https://www.cnblogs.com/nsky/p/10853194.html dockerfile的图很好呢. 但是自己没有做实验 , 其实知识都挺好. do ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 4】第四课:卷积神经网络 - 高级篇
[原创 深度学习与TensorFlow 动手实践系列 - 4]第四课:卷积神经网络 - 高级篇 提纲: 1. AlexNet:现代神经网络起源 2. VGG:AlexNet增强版 3. GoogleN ...
- 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇
[原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...
- 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践
[原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践
- 【原创 Hadoop&Spark 动手实践 13】Spark综合案例:简易电影推荐系统
[原创 Hadoop&Spark 动手实践 13]Spark综合案例:简易电影推荐系统
- 【原创 Hadoop&Spark 动手实践 8】Spark 应用经验、调优与动手实践
[原创 Hadoop&Spark 动手实践 7]Spark 应用经验.调优与动手实践 目标: 1. 了解Spark 应用经验与调优的理论与方法,如果遇到Spark调优的事情,有理论思考框架. ...
- 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)
[原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...
- 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)
[原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...
- 【原创 Hadoop&Spark 动手实践 11】Spark Streaming 应用与动手实践
[原创 Hadoop&Spark 动手实践 11]Spark Streaming 应用与动手实践 目标: 1. 掌握Spark Streaming的基本原理 2. 完成Spark Stream ...
随机推荐
- [Django] The models
Create a new app: python manage.py startapp tictactoe Then add you app to INSTALLED_APP array in set ...
- IDEA 多线程Debug
一.问题描述 在idea中的进行调试时,代码中有多线程,想对线程中的代码进行跟踪,代码如下: for (int i = 0; i < 5; i++) { final int index = i; ...
- 数据库迁移框架Flyway介绍
官方文档 https://flywaydb.org/getstarted/firststeps/api[https://flywaydb.org/getstarted/firststeps/api] ...
- amazeui中的js插件有哪些(详解功能)
amazeui中的js插件有哪些(详解功能) 一.总结 一句话总结: 二.amazeui中的js插件有哪些 1.UI 增强 警告框Alert 按钮交互Button 折叠面板Collapse 下拉组件D ...
- DotNetty编写跨平台网络通信
DotNetty编写跨平台网络通信 长久以来,.Net开发人员都非常羡慕Java有Netty这样,高效,稳定又易用的网络通信基础框架.终于微软的Azure团队,使用C#实现的Netty的版本发布.不但 ...
- 小强的HTML5移动开发之路(26)—— JavaScript回顾1
很久没有怎么用过JavaScript了,感觉有点生疏,最近在看关于HTML5移动开发方面的资料,有一种直觉告诉我,JavaScript昨天.今天很重要,明天会更重要.现在好多基于JavaScript的 ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用
原文:利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV ...
- Arcgis api for javascript学习笔记(4.5版本) - 点击多边形(Polygon)并高亮显示
在现在的 arcgis_js_v45_api 版本中并没有直接提供点击Polygon对象高亮显示.需要实现如下几个步骤: 1.点击地图时,获取Polygon的Graphic对象: 2.对获取到的Gra ...
- vmware合并多个虚拟硬盘文件(使用vmware-vdiskmanager.exe)
有时,当我们创建虚拟机vmware里面的应用程序,我们可能会选择创建分割的虚拟磁盘中的多个文件2GB的文件,这是为了提高复制过程,主要用于存储虚拟机文件系统不支持创建更大的文件.还有种情况是虚拟化物理 ...
- Maven环境下Poi的使用
Poi的使用方法,网上还是挺多的,官网也有教程. 附一个比较全的: http://www.cnblogs.com/vTree/archive/2011/11/30/2268721.html 需要说明的 ...