Java网络编程(1)

什么是网络?

简单的来说。在计算机领域,网络是信息传输、接收、共享的虚拟平台。
通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。

什么是网络编程

网络编程从大的方面说就是对信息对发送到接收。
通过操作相对对Api调度计算机硬件资源,并利用传输管道(网线) 进行数据交换的过程。

OSI 网络七层模型

在这里插入图片描述
该图片是最强大也是非常好理解的一张图。
我们写Java操作的是应用层面的东西如Tcp、Udp。我们需要合理的封装Tcp、Udp所提供的Api接口,这样方便我们的应用直接调度使用。

什么是Socket

简单的说Socket就是ip地址端口结合的协议,这个协议是RFC 793,一种地址与端口的结合协议。
Tcp/ip 协议相关Api的总称,是网络Api的集合实现。
其实Socket就是对Tcp、Udp的封装。便于使用。

什么是Socket的作用与组成

在网络传输中用于唯一标示两个端点之间的连接。端点(ip地址和端口号),它最重要的四个要素分别是: 客户端地址、客户端端口、服务器地址、服务器端口

Socket传输原理

在这里插入图片描述
ip地址 + 端口号 就等于我们的socket

Socket 中的 tcp

Tcp是面向连接的通信协议
通过三次握手建立连接,通讯完成时需要释放并且关闭连接
面向端口到端口的通讯

Socket 中的udp

Udp是面向无连接的通讯协议
Udp数据包括目的端口号和缘端口号信息
因为通讯不需要连接,所以可以实现广播发送,并不限于端到端

Tcp传输工作流程

在这里插入图片描述
上图是Tcp工作原理,客户端向服务器发送数据(Tcp Data) ,服务器接收后会正确回送数据报文(Tcp Ack),Tcp只有两种状态,要么发送成功,要么发送失败。没有发送一半接收一半的这种说法。

Udp传输工作原理

在这里插入图片描述
上图是Udp的工作原理图,Udp只管发送,不管对方收没收到。比如你是老师向班上的所有人通知明天放假,但是恰好有一两个人没在。那么老师只管对班上人说明天放假。不管那两个人听到没听到。

什么是CS模型

在Tcp和Ip协议中,两个进程间通信的主要模式为CS模型,这里的CS不是打枪的CS,而是客户端和服务器之间的通信。
主要的目的就是协同网络中的计算机资源、服务模式、进程间数据共享。
常见的CS模型如FTP、SMTP、HTTP

总结

在写网络编程代码时候,需要搞清楚这些理论知识,才能让你更加的理解网络编程。懂得工作原理才能让你编程不会蒙蔽。总之网络编程是非常重要的。并且也不是很好掌握的。需要花大量的时间去实践。将所学的知识运用到项目中。这样才能带来实际的价值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值