lshaoyu

百战程序员11-网络编程

第十一章 网络编程

  1、什么是计算机网络?网络的主要类型有哪些;

 

  2、常见的网络分层模型有哪两个?哪个更流行?为什么?

     OSI七层模型

     TCP/IP四层模型

  3、TCP的全称是?

   TCP/IP全称:Transmission Control Protocol / Internet Protocol   中文翻译:传输控制协议 / 互联网协议

  TCP :Transmission Control Protocol

 

  4、UDP的全称是?

     UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议

  5、请说出TCP和UDP的联系和区别?

     

  TCP -- 传输控制协议,提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

  UDP -- 用户数据报协议,是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。

  

·  TCP与UDP差别小结:

    1.是否连接面向连接面向非连接;

    2.传输可靠性不可靠性;

    3.应用场合传输大量数据少量数据。

  6、通过类比打电话,详细描述三次握手机制。

     

    TCP (Transmission Control Protocol, 传输控制协议)基于连接的协议,所以在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”或者“握手”,才能建立起来。三次“对话”过程如下:

      1.主机A向主机B发出连接请求数据包;

      2.主机B向主机A发送同意连接和要求同步的数据包;(同步就是两台主机一个在发送,一个在接收,协调工作)

      3.主机A再发出一个数据包确认主机B的要求同步。

      三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”后,主机A才向主机B正式发送数据

  7、IP的全称是? IP的作用是?

     互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给用户上网使用的网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为IPv4IPv6两大类,但是也有其他不常用的小分类。

  8、IPV4为什么会发生资源枯竭的问题?

   ipv4用32位表示ip,理论最多只有2的32次方个ip地址(大约43亿),现实中,可利用的ip还要少(比如保留的地址,比如因为ip划分和保留缘故造成某段ip更紧张)
现在全球上网的设备已经远远超过这个数目。比如你可能就有几台电脑、手机、平板等等都要联网,都要ip,地球上上网的人口按照总人口50%算,也有将近40亿人了。
当然不够用。

  8、为什么需要端口?端口是真实存在的还是虚拟的概念?

     

  IP地址用来标志一台计算机,但是一台计算机上可能提供多种网络应用程序,使用端口来区分这些应用程序。

  端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序

  端口范围0---65535,16位整数。

  9、Java中,端口使用两个字节表示,可以表示多少个端口? UDP和TCP端口是各自
        独立的吗?

    

    端口范围0---65535,16位整数。

    由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。

  10、InetAddress和InetSocketAddress都封装了哪些信息? 他们两的区别是?

  

  在Java中InetAddress和InetSocketAddress看起来很相似,用来描述IP地址和主机名称。当然,它们也支持使用常规方法来检查地址:回环地址、本地地址、组播地址;基本的返回方法:获得IP,获得主机名称等。

  重要的是InetSocketAddress包含InetAddress。这意味着,如果我们想对InetSocketAddress中的InetAddress做任何操作,只需要通过getInetAddress()方法获得即可。

     

 

  11、URL类有什么作用?

     

URL:Uniform Resource Locator,统一资源定位器;俗称“网址”,如:

"http://www.baidu.com:80/index.html#aa?cansu=bjsxt“

由4部分组成:

l 协议: http;

l 存放资源的主机域名:www.baidu.com;

l 端口号:80;

l 资源文件名: index.html#aa?cansu=bjsxt;

URL是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

  12、【上机】将网络上一张图片或一个mp3或一个视频的信息保存到本地。

   13、查资料了解,SNS是什么?

      NS,专指社交网络服务,包括了社交软件和社交网站。也指社交现有已成熟普及的信息载体,如短信SMS服务。SNS的另一种常用解释:全称Social Networking Services,即“社交网站”或“社交网”。SNS也指Social Network Software,社交网络软件,是一个采用分布式技术,通俗地说是采用P2P(Peer to Peer)技术,构建的下一代基于个人的网络基础软件

  14、如何理解Socket的含义?

  Socket即套接字,是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,是对TCP/IP的封装和应用。TCP/IP主要解决数据如何在网络中传输,而HTTP主要解决如何包装数据。Socket本身不是协议而是调用接口,通过Socket我们才能使用TCP/IP协议,即TCP/IP要为程序员提供网络开发的接口,这就是Socket编程接口。

  15、基于TCP的Socket网络编程的主要步骤是什么?

     基于TCP和UDP的Socket编程的步骤

  16、【上机】写出建立TCP服务器ServerSocket的代码。并说明accept方法有什么
        特点?

 

  17、【上机】写出建立TCP客户端Socket的代码。并说明建立Socket后,通过什么
        方法Socket获得流对象?

 

  18、【上机】完成老师课堂上的代码(最简单的服务器客户端代码。可双向交流的服务
         器客户端代码。本作业可课后完成)

 

  19、基于UDP的Socket网络编程的主要步骤是什么?

     基于TCP和UDP的Socket编程的步骤

  21、【上机】使用UDP的方式,完成对象的传递。

 

posted on 2019-03-01 17:46  就爱上编程吧  阅读(229)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: