文档章节

网络编程启蒙

macwe
 macwe
发布于 2013/10/01 19:45
字数 516
阅读 62
收藏 1

一.      自然界的通信

 

网络编程本质上要做的事情就是交流,我们先来分析一下人与人交流,见上图,我们发现人与人的通信是分层结构的,这里以一个人对另一个人说“Hello World!”为例。

(1)   一个人说了“Hello World!”后它就是一个信息,这个是信息首先可以直接说出来,我们也可以使用暗号来代替。这就是说信息可以选择明文或者密文来传输,还可以用不同的加密方法。

(2)   当然我们还可以说”世界,你好!”,这里选择汉语,上文用的是英语,但是表达了同一个意思。这就说明信息可以用不同的编码方式。

(3)   我们可以对某一个人说,我们也可以对着当街的人大喊。这里说明信息总要有一个发送者和接受者,可能有多个接受者。

(4)   然后我们可以直接对别人说,也可以打电话,可以发短信。这说明信息总要有一个传播介质。

二.      计算机的通信

(1)OSI七层模型

 

说到计算机的通信,自然要说OSI七层模型啦,关于它的详细就不说了,网上一大堆,这里不想重复。

你们发现这就是把我们自然界的通信方式搬过来而已,大家琢磨一下吧。

 

(2)TCP/IP的四层模型

 

OSI七层模型是个比较理想的模型,我们的网络应用可能没有每层都用到,但是TCP/IP四层模型是必须都要用到的几层。

 

三、分层次结构的目的

 

网络通信的确是个比较复杂的过程,我们将通信分层不同的层次,每一层可以单独分析和设计,这样将复杂的问题给分割成几个更简单点的问题来处理,这样在实际的应用中也更好开发和部署。

 

© 著作权归作者所有

共有 人打赏支持
macwe
粉丝 14
博文 18
码字总数 22244
作品 0
海淀
其他
知启蒙/zhiqim_kernel

zhiqim_kernel介绍 zhiqim_kernel即知启蒙内核,负责工程的生命周期管理:包括工程开发和发布的目录结构管理、统一的配置规约、单多例服务接口定义、服务启动运行更新和销毁管理。并提供基础...

知启蒙
09/05
0
0
浅析令人尖叫的趣味编程语言----scratch

scratch是由麻省理工专为广大青少年量身定制的一款趣味编程软件,整个软件编程思路设计的非常简单有趣,不需要你会英文、不需要你懂各种逻辑结构语法,不用键盘,使用鼠标就能轻松,几乎所有...

crossmix
2015/10/14
2.2K
0
童程童美2017年Q1单季招生近千

  【IT168 资讯】日前,美国NASDAQ上市公司达内教育(TEDU)发布了2017年第一季度未经审计财务报告。财报显示,达内教育第一财季总净营收为3.3亿人民币,同比增长23.5%。招生总人数达到27,78...

it168网站
2017/05/23
0
0
全家都是程序员,会是一种什么样的体验?

今天小编在网上看到一群程序员们在集体讨论一个非常好玩的话题“如果全家都是程序员,那将会是怎么样的一种体验?” 下面小编就把网友们的这些脑洞分享给大家! 1、网友甲:我觉得我小学可能...

小b狸猫
01/05
0
0
学习编程需要的基础是?

新手一个,非计算机专业,并未有任何编程基础,会一些组装机器和乐意尝试各种现有的软件使用,对计算机一直抱有极大的兴趣,现在在别的行业工作一年。 心中把计算机当自己最大的乐趣,并未想...

微笑大笑i
2015/10/05
1K
18

没有更多内容

加载失败,请刷新页面

加载更多

白话SpringCloud | 第五章:服务容错保护(Hystrix)

前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网...

oKong
22分钟前
0
0
【解惑】领略Java内部类的“内部”

内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中...

偶尔诗文
今天
1
0
sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
今天
1
0
[Java]JVM调优总结 -Xms -Xmx -Xmn -Xss

JVM调优总结 -Xms -Xmx -Xmn -Xss 博客分类: Java General JVM应用服务器电信CMS算法 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可...

morpheusWB
今天
2
0
C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部