JAVA深度分析解析网络编程Socket过程及方法

OSI
一、应用层TCP/IP模型
1.会话层
2.表示层
3.应用层
二、传输层
三、网络层
四、网络接口
1.数据链路程
2.物理层
基础拓展
一、网络:使用光纤,网线, WIF1等传输介质,将位干不同地址计算机连接到一起 .局域网 城域网 广域网(互联网)
二、地址:计算机在网络上,什么东西是它的地址? TP地址, TP地址就悬计算机在网络上的唯一维对地址 1相当干人居住的房子的地方
三、计算机上面可以安装非常多的应用软件,那么如何区分这些软件?需要通过端口号来区分,端口号,就相当于房子中开的门
1.端口号在计算机里面有2个字节那么大,因此端口号的取值范围: 0-65535 共65536个,但是1024以下的端口号,通常是计算机内置软件端口,
2.1024以上的,我们都可以用,并且为了避免重复性,推荐大家端口号定义的越大越好
3.多个软件之间使用同一种协议的软件之间,端口号不能重复,但是不同协议端口号可以重复
四、资源定位URL:统一资源定位符 URI:统一资源 修饰符
五、数据的传输
1.计算机之间通过传输0101数据通讯,但是通讯时,如果识别有效数据,还是需要不同的协议才能完成,不然就会形成鸡同鸭讲的效果。协议中,常见的底层协议主要有TCP/IP协议(一种面向连接的协议,类似于打电话 。特点:安全可靠 效率对于UDP而言较为地下,为响应模式),udp 协议(类似与广播、发短信 它是一种非面向连接的协议,特点:不可靠,安全性较低 但是他的效率较高)
2.数据在进行传输时,需要经过一系列的封装和拆分的过程
1)数据的封装
2)数据的拆分
.采用了分层的思想,来完成对层次的解耦,以及各层的职责分离,分层模型让各层能够更合理的分工合作
六、客户端和服务器
1.c/S client/Server(胖客户端)
特点:需要安装,需要升级
2.B/S Browser/Server(瘦客户端)
特点:不需要安装,也不需要更新。服务器更新后,打开浏览器自动更新
七、传输层的传输方式
需要解决到达计算机的os1七层模型中的0101010100000这种二进制数据,如何才能到达我们的应用软件
作用:建立一个传输层通道,将来自于osi七层模式中,下三层的数据传输到我们应用层去。这个数据传输通道,我们称之为Socket套接字。实际上类似于传送带。可以双向传输
作为传输层来讲,一共只有两种协议,一个是тсP/IP(三次握手、四次挥手), UDP
在网络编程中,获取1P地址的几种方式
1.InetAddress.getHostAddress 获取本机的IP地址
2.InetAddress.getHostName 获取联机的地址,如果此时输出的IP地址,不是域名,也不是计算机的名称,说明输入的IP地址不存在或者是机器本身的DNS不允许进行IP地址与机器名之间的映射
3.InetAddress.getBYname 输入一个联机的IP地址
在网络编程中,知道主机名|IP地址1域名以及端口号的情况下获得IP地址对象的几种方式   InetSocketAddness
get.part 获取端口
ServerSocket 定义服务器和客户端
. Socket s = ss.accept();//侦听端口,并接受来自于该端口进入的机器的连接(这个类就好比"履带"对象)
. InetAddress addr = s.getInetAddress()?/得到客户端IP地址对象
UDP
不是面向连接的协议,他是以数据中心的协议,他的特点:数据的可靠性较差,数据容易丢失,但是他的效率高
DatagramSocket
DatagramPacket
客户端
1.创建客户端 DatagramSocket 类+端口(指定,我的数据从哪个端口出去?)
2.准备数据 只不过这些数据需要装配到字节数组去
3.将数据打包,使用DatagramPacket+服务器地址及端口号来完成打包
4.发送
5.释放资源
服务器端
1.创建服务端DatagramSorket 类+端口(指定:我从哪个端口获取数据)
2.准备接收数据,同样需要定义一个字节数组 封装DataGramPacket
3.接收数据
4.分析数据
5.释放资源
URL
协议://主机:端口/路径?查询字符串#锚点引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值