Java网络通信-网络编程、常见协议、Socket

目录

1.网络编程

计算机网络

网络编程

网络通信要素

数据包

IP地址

 端口号 传输协议

 网络模型

 两种模型协议对照表

2.常见协议

TCP

三次握手

 UDP

TCP与UDP的区别

 HTTP

3.Socket

概述

 Java中网络相关类

Java中的Socket编程

案例

 利用UDP协议


1.网络编程

计算机网络

指将地理位置不同的具有独立功能的多态计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

网络编程

就是用来实现网络互联的不同计算机上运行的程序间可以进行数据交换

网络通信要素

数据包

 数据包分成多个数据块,主要就包含发送者和接收者的一个地址。任意一个主机,能够去发送具有任意原地址的这两个数据包。但这个数据包的长,就是进行这个长距离的传输,它还需要去经过许多。就是一个中继站,每一个中继站就是一台主机或者一个路由器,它们是基于这个路由信息的,就是把这个数据包向下一个中继站去进行传递,这是一个传递过程。如果在数据传递的路上,如果说这个路由器,遇到一个大数据流量的情况下,它可能在没有任何提示的情况下,会丢失一些数据包,我们就把它称之为丢包。

IP地址

 端口号 传输协议

 

 网络模型

 

 

 两种模型协议对照表

 相同点:

OSI这个参考模型和TCP/IP模型都采用了这种层次结构,另外一点,都能够去提供面向连接和无连接的这两种通信服务机制。它们的传输层是相似的,都是去负责用户真正的一个端对端的通信服务 TCP和UDP。

不同点:

1.OSI是七层,TCP/IP是四层,TCP/IP它的一个参考模型就是网络层这里,在网络接口层这里,它并不是一个真正意义上的定义,只是一些概念性的。那这个OSI它是进行一个具体的定义,非常详细,每一层定义都很清晰,甚至在数据链路层,它还有一个子层,这个一个层次,叫做介质访问层,就是专门去解决局域网,解决共享介质的问题。

2.OSI是在我们协议开发前去设计的,具有一个通性。然后TCP/IP是现有协议再去建立模型,它是不适应于这个非TCP/IP的。

3.OSI的抽象性比较高,且它分的很细致,非常的复杂,实现起来很困难。相反TCP/IP实现比较成功,我们一般用的较多。

2.常见协议

TCP

 

三次握手

 思考:如何断开连接?

客户端发送一个FIN,服务器接收到后,返回一个ACK。之后就是服务器端再次去给它发送关闭用户连接的FIN,客服端发送一个ACK报文。

 UDP

 

TCP与UDP的区别

 HTTP

基于TCP/IP协议的应用层超文本传输协议,是用于从WWW服务器传输超文本到本地浏览的传输协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

https就是在http的基础上加了一个认证加密,SSL,去保证传输的安全性。现在基本都是https,这样安全性得到了一个保证。

3.Socket

概述

Socket简称“套接字”,是一种双向网络通信方式,用于描述IP地址和端口,是一个通信连的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。

 

 Java中网络相关类

 

Java中的Socket编程

案例

服务器:

 客户端:

 利用UDP协议

 

发送端:

 接收端:

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么时候养猫猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值