第十一章网络编程( Socket 编程)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
什么是计算机网络?网络的主要类型有哪些;
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

• 计算机网络分类1(按照规模)
• 局域网LAN
• 城域网MAN
• 广域网WAN
• 计算机网络分类2(传输介质)
• 同轴电缆网络
• 双绞线网络
• 光纤网络
• 卫星网络
• 计算机网络分类3(拓扑结构)
• 星形网络
• 总线网络
• 环状网络

常见的网络分层模型有哪两个?哪个更流行?为什么?
• 名义上标准:ISO/OSI参考模型
• 事实上标准: TCP/IP协议栈(Internet使用的协议)
在这里插入图片描述

TCP 的全称是?
transfer control protocol 传输控制协议

UDP 的全称是?
User Datagram Protocol 用户数据报协议

请说出 TCP 和 UDP 的联系和区别?
TCP(transfer control protocol)
• 一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议 。
特点
• 面向连接
• 点到点的通信
• 高可靠性:三次握手
• 占用系统资源多、效率低

UDP(User DatagramProtocol )
• 一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务
特点:
• 非面向连接,传输不可靠,可能丢失
• 发送不管对方是否准备好,接收方收到也不确认
• 可以广播发送
• 非常简单的协议,开销小

TCP与UDP差别小结:
    1.是否连接面向连接面向非连接;
    2.传输可靠性不可靠性;
    3.应用场合传输大量数据少量数据。
通过类比打电话,详细描述三次握手机制。
TCP (Transmission Control Protocol, 传输控制协议)基于连接的协议,所以在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”或者“握手”,才能建立起来。三次“对话”过程如下:
   1.主机A向主机B发出连接请求数据包;
   2.主机B向主机A发送同意连接和要求同步的数据包;(同步就是两台主机一个在发送,一个在接收,协调工作)
   3.主机A再发出一个数据包确认主机B的要求同步。
   三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”后,主机A才向主机B正式发送数据

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

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

为什么需要端口?端口是真实存在的还是虚拟的概念?
IP地址用来标志一台计算机,但是一台计算机上可能提供多种网络应用程序,使用端口来区分这些应用程序。
  端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。
  端口范围0—65535,16位整数。

Java中,端口使用两个字节表示,可以表示多少个端口? UDP和TCP端口是各自独立的吗?
端口范围0—65535,16位整数。
由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。

InetAddress和InetSocketAddress都封装了哪些信息? 他们两的区别是?
在Java中InetAddress和InetSocketAddress看起来很相似,用来描述IP地址和主机名称。当然,它们也支持使用常规方法来检查地址:回环地址、本地地址、组播地址;基本的返回方法:获得IP,获得主机名称等。
  重要的是InetSocketAddress包含InetAddress。这意味着,如果我们想对InetSocketAddress中的InetAddress做任何操作,只需要通过getInetAddress()方法获得即可。
  在这里插入图片描述
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是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

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

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

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

server:

1.构建一个ServerSocket实例,指定本地的端口,用于监听其连接请求。

2.调用socket的accept()方法获得客户端的连接请求,通过accept()方法返回的socket实例,建立与客户端的连接。

3.通过返回的socket实例来获得InputStream和OutputStream,进行数据的写入和读出。

4.调用socket的close()方法关闭socket连接 。

client:

1.构建Socket实例,通过指定的服务器地址和端口建立连接。

2.利用Socket实例包含的InputStream和OutputStream进行数据读写。

3.操作结束后调用socket实例的close方法关闭连接。

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

server

1.构造DatagramSocket实例,指定本地端口。

2.通过DatagramSocket的send和receive方法接收和发送DatagramPacket

3.调用DatagramSocket的close()方法关闭。

client

1.构造DatagramSocket实例。

2.通过DatagramSocket实例的send和receive方法收发DatagramPacket报文。

3.调用DatagramSocket的close()方法关闭连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值