Javase复习系列——网络编程

cho1.基本问题

  1. 网络编程是什么?
    Java中网络连接的建立、网络数据传输问题的解决方案。
  2. 什么是通信协议?
    网络通信中的一些约定,保证计算机之间能够进行通信。通信协议规定了速率、传输代码、代码结构、传输控制步骤、出错控制等。
  3. URL的组成
    <传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数名=参数值&参数名=参数值
  4. 域名是什么?
    由于IP不容易记忆,因此使用域名表示某个IP,最终也会转化为IP地址的形式。

cho2.套接字

URL、RUI、URN的区别

参考链接URL, URI, URN三者区别
大概了解即可,想要深入了解的话,可以看看计网方面的书

套接字的基本构成

套接字 = IP + 端口号

  • IP:可以唯一标识因特网中的一台计算机。可以看做因特网中,计算机的身份证号。
  • 端口号:可以唯一标识一台计算机中的一个进程。一台计算机上运行着许多进程,每个进程占用一个端口号。
  • 套接字就是包含了IP地址和端口号的Socket类。

域名解析过程

域名解析
计算机需要访问一个网址时,首先拿到的一般是域名,需要解析成IP地址再进行访问。

第1步:
计算机先在本地的hosts文件中查找。若未找到,则进入第2步;若找到,则直接进入第4步。
第2步:
计算机将域名发送给DNS(域名解析器),DNS在自己的“清单”中查找有无对应IP。
第3步:
DNS将找到的IP发送回本机。
第4步:
本机对目标网址进行访问。

cho3.TCP/IP协议

TCP/IP协议模型

TCP/IP模型
每一层只与邻近的层有联系。

“三次握手”与“四次挥手”

三次握手与四次挥手

  1. 建立连接的“三次握手”
  2. 释放连接的“四次挥手”
    参考链接“三次握手”与“四次挥手”的详细解释(附图解与动画)

cho4.数据传输

网络传输的本质

网络传输的本质

  1. 简单来说,就是通过网络,一方发送数据,一方接收数据。
  2. 数据可能是字符、也可能是字节;数据的大小也可能很大。因此,需要将所有数据拆包,并转成二进制数据发送。
  3. 接收的数据要保证完整性,还有恢复发送时的格式等。因此,接收端需要将数据进行包的组装,与格式的恢复。

TCP/UDP协议

  1. TCP协议流程
    TCP协议流程
  2. UDP协议流程
    UDP协议流程
  3. TCP协议与UDP协议的区别
TCPUDP
建立TCP连接,采用“三次握手”方式不需要建立连接,数据封装为包
TCP应用于客户端与服务端可以广播发送(即发给多个端)
可进行大数据量传输数据报大小<=64K
数据传输结束,释放连接,采用“四次挥手”方式只发送,不管是否收到

cho5.常用方法

InetAddress

InetAddress

DatagramSocket

DatagramSocket

URL

URL

DatagramPacket

DatagramPacket

Socket

Socket

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值