第18章 网络编程
网络:使用光纤,网线,Wifi等传输介质,将位于不同的地址的计算机连接到一起 1、局域网 2、广域网(互联网)3、城域网
地址:计算机在网络上,什么东西是它的地址? IP地址, IP地址就是计算机在网络上的唯一绝对地址 ,相当于人居住的房子的地址.
计算机上面可以安装非常多的应用软件,那么如何区分这些软件?需要通过端口号来区分,端口号,相当与房子中开的们.
一、端口号在计算机里面有2个字节那么大,因此端口号的取值范围:0–65535 共65536个 但是1024以下的端口号,通常是计算机内置软件端口 类似于现实生活中的短号号码 120
110 119 …
二、1024以上的我们都可以用,并且为了避免重复性,推荐大家端口号定义越大越好.
三、多个软件之间,如果使用同一种通讯协议,那么软件之间,端口号不允许重复. 但是不同协议,端口可以重复.
四、资源定位 URL:统一资源定位符 http://127.0.0.1:80/stusystem/user/1 URI:统一资源修饰符. user/1
五、数据的传输
1、计算机之间底层通过传输010101010100110010010这样的数据进行通讯,但是通讯时,如果识别有效数据,还是需要不同的协议才能完成,不然就会造成:鸡同鸭将的效果.
协议中,场景的底层协议:TCP/UDP
TCP/IP:非常类似于打电话,它是一种面向连接的协议. 他的特点:安全可靠但是效率相对UDP而言,较为低下 —请求响应模式
UDP:类似于发短信,类似于广播,它是一种非面向连接的协议. 他的特点:不可靠,安全性较低, 但是它的效率较高.
2、数据在进行传输时,需要经过一系列的封装和拆分的过程.
1)、数据的封装.
2)、数据的拆分.
采用了分层的思想,来完成对层次的解耦,以及各层的职责分离,让各层能够合理分工合作. --OSI七层模型.
六、 客户端和服务器
C/S Client/Server (胖客户端) 特点:需要安装 需要更新.
B/S Browser/Server (瘦客户端) 特点:不需要安装,更不需要更新,服务器更新之后,打开浏览器,自动更新.
七、传输层的传输方式
需要解决到达计算机的OSI七层模型中的010101010100100这种二进制数据,如何才能到达我们的应用软件.
传输层的作用:就是建立一个数据传输通道,将来自于OSI七层模式中下三层的数据传输到我们应用程序中.
这个数据传输通道,我们把它称之为Socket接字,实际上,就类似于我们现实生活中的飞机场、食品厂、物流中的"传输履带",只不过他的特点是:可以双向传输.
作为传输层来讲,只有2种传输协议,TCP/IP(三次握手四次挥手),UDP.
TCP/IP:建立连接三次握手-----关闭连接四次挥手.
TCP/IP套接字编程:
服务端(ServerSocket)
客户端(Socket)
UDP套接字编程:
服务端(DatagramSocket)
客户端(DatagramSocket)
UDP: 不是面向连接的协议,它是以数据为中心的协议,它的特点:数据的可靠性较差 数据容易丢失 但是它的效率高
一:类DatagramSocket DatagramPacket
客户端
1、创建客户端 DatagramSocket 类 + 端口 (指定:我的数据从哪个端口出去)
2、准备数据 只不过这些数据,需要装配到字节数组中去
3、将数据打包 DatagramPacket + 服务器地址及端口号 来完成打包
4、发送
5、释放资源
服务器端
1、创建服务端 DatagramSocket类 + 端口(指定:我从哪个端口获取数据)
2、准备接收数据 同样需要定义一个字节数组 封装DataGramPacket
3、接收数据
4、分析数据
5、释放资源