一次会话中消息的传送过程

  【前言】今天讲课的时候提到了再一次会话中数据是怎么传输的,通过这个过程我们就知道了我们的数据是怎么传输的,传输对象是在传输过程中是怎么转化的。这个过程之前在软考中接触过,所以接受起来还是比较容易的。
  首先我们先来看一张图片,这张图片给我们很好的诠释了这一系列数据的传输的过程。举个例子,首先系统A向系统B发出了“你好”的会话,我们在这个过程中传输的其实就是“你好”这个字符串,只不过在每一层的时候他的表现形式是不同的但是本质是一样的。从图中我们可以看出这个信息时从系统A传到应用层然后一直向下知道物理层,然后物理层以比特流的形式传送到B的物理层,然后一直向上传送,直到系统B接收到了这个消息,就完成了这一会话过程。
一次会话中消息的传送过程
  这七层网络每一层都是干什么的下面的图给出了很好的解释。
一次会话中消息的传送过程
  了解了上面这一过程之后,我们可以思考下面一个问题,系统A发送消息和系统B接受一个消息,如果是使用不同的代码实现的,系统B为什么也能接收到消息?
  因为消息传输的时候都遵循了一样的规范,这个数据流都标明了自己的类型、规格等基本信息,所以无论他原来是什么代码实现的,只要遵循了数据传输的规范(如XML、JSon等)那么系统B就可以利用自己的解释机制,将这个数据还原出自己的认识的东西。这里就引出了一个序列化的概念。
  1、什么是序列化:
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
  2、所有数据都应该序列化吗:
  答案显而易见,当然也不应该,如果我传送了一个安全性的数据,这个数据是不能被人随便解码出啦的,我当然就不能使这个对象序列化了。
  【总结】今天最大的收获就是,我们学过的知识都是相通的,我们要学会把要学习的知识努力的和之前掌握的知识靠拢,不断地找联系,这样才能提高自己的学习效率。