java网络编程

什么是计算机网络?

把分布在不同地理区域的计算机设备,通过物理线路(网线、光纤,交换机)连接起来,最终实现数据的传输,资源的共享。

最早的网络:美国的五角大楼

网络编程

在网络的基础上,开发的程序能够进行数据传输

Java语言是支持网络的。

Java语言将网络连接的一些细节都封装起来了,对外提供一套网络库(类),就可以进行统一环境的网络编程

网络编程的核心问题

如何找到网络世界中的主机和程序(IP、端口)?

找到主机后如和高效安全的进行数据传输(协议)。

网络模型

应用层

QQ、微信

传输层 加入协议的控制

网络层 加入IP以及协议控制

IP (Internet Protocol Adress) 是指互联网协议地址,计算机的地址

本机回环地址:127.0.0.1 访问自己的电脑

端口:是计算机中运行的每一个程序都对应分配一个整数编号,不能重复。

范围0~65535;一般0~1024已经被系统使用或保留,一般我们使用1025~65535之间,已被使用的不能在使用

网络通信协议:(规则、规范、约定)

规定传输的速率,代码结构,出错后如何应对等等

物理层 网线、光纤

TCP

传输控制协议TCP:客户端向服务器端发送数据前,首先要建立链接(测试网络是否通畅),断开时还要相互确认

建立连接:三次握手

第一次:客户端向服务器发送一个连接请求

第二次:当服务端收到连接请求后,给客户端做出的一个回应

第三次:客户端为服务器的回应做出确认回应

完成之后开始传输数据

断开连接:四次挥手

第一次:客户端向服务器端发送一个断开的请求

第二次:服务器向客户端作出一个回应

第三次:服务端把没有传输完的数据传输完毕,在向客户端作出回应

第四次:客户端向服务器端的回应做出回应

UDP

用户数据报协议UDP:把要发送的数据封装成为一个数据报;数据报里面包含数据、对方的ip对方的端口,只管发送即可,是否发送成功不知道。

是不可靠的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值