第十周学习总结

20145338 《Java程序设计》第十周学习总结

教材学习内容总结

网络编程

网络编程就是在两个或两个以上的设备之间传输数据。程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴。在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可。

计算机网络概述:
按照计算机网络的定义,通过一定的物理设备将处于不同位置的计算机连接起来组成的网络,这个网络中包含的设备有:计算机、路由器、交换机等等
IP地址和域名很好的解决了在网络中找到一个计算机的问题,但是为了让一个计算机可以同时运行多个网络程序,就引入了另外一个概念——端口(port)
端口是为了让一个计算机可以同时运行多个网络程序,在同一个计算机中每个程序对应唯一的端口,这样一个计算机上就可以通过端口区分发送给每个端口的数据了,换句话说,也就是一个计算机上可以并发运行多个网络程序,而不会在互相之间产生干扰。

网络编程概述:
网络通讯基于“请求-响应”模型,在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别。
网络编程中常见的两种结构:C/S结构和B/S结构。C/S结构即客户端/服务器结构,在开发时需要分别开发客户端和服务器端,这种结构的优势在于由于客户端是专门开发的,可以根据需要实现各种效果,它的缺点在于通用性查,维护压力大。B/S结构即浏览器/服务器结构,在开发时只需要开发服务器端即可,这种结构的优势在于开发的压力比较小,不需要维护客户端,但是览器的限制比较大,表现力不强。
网络通讯的方式主要有两种:TCP(传输控制协议)方式和UDP(用户数据报协议)方式。
由于TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。

网络编程技术

客户端网络编程步骤:
1、 建立网络连接
2、 交换数据
3、 关闭网络连接

服务器端网络编程步骤:
1、 监听端口
2、 获得连接
3、 交换数据
4、 关闭连接
Java网络编程技术
首先来介绍一个基础的网络类——InetAddress类。该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。

TCP编程
在客户端网络编程中,首先需要建立连接,在Java API中以java.net.Socket类的对象代表网络连接,所以建立客户端网络连接,也就是创建Socket类型的对象,该对象代表网络连接,示例如下:

Socket socket1 = new Socket(“192.168.1.103”,10000);
Socket socket2 = new Socket(“www.sohu.com”,80);
连接一旦建立,则完成了客户端编程的第一步,紧接着的步骤就是按照“请求-响应”模型进行网络数据交换,在Java语言中,数据传输功能由Java IO实现,也就是说只需要从连接中获得输入流和输出流即可,然后将需要发送的数据写入连接对象的输出流中,在发送完成以后从输入流中读取数据即可。示例代码如下:

OutputStream os = socket1.getOutputStream(); //获得输出流
InputStream is = socket1.getInputStream(); //获得输入流
最后当数据交换完成以后,关闭网络连接,释放网络连接占用的系统端口和内存等资源,完成网络操作,示例代码如下:

socket1.close();
这就是最基本的网络编程功能介绍。

在Java API中,实现UDP方式的编程,包含客户端网络编程和服务器端网络编程,主要由两个类实现,分别是:
l DatagramSocket:
DatagramSocket类实现“网络连接”,包括客户端网络连接和服务器端网络连接。
l DatagramPacket:
DatagramPacket类实现对于网络中传输的数据封装,也就是说,该类的对象代表网络中交换的数据。

网络协议

网络协议是指对于网络中传输的数据格式的规定,其实质也是客户端程序和服务器端程序对于数据的一种约定。
对于同一个网络程序来说,一般都会涉及到两个网络协议格式:客户端发送数据格式和服务器端反馈数据格式。

客户端程序需要完成的处理为:
1、客户端发送协议格式的生成
2、服务器端反馈数据格式的解析

服务器端程序需要完成的处理为:
1、服务器端反馈协议格式的生成
2、客户端发送协议格式的解析

原文地址:https://www.cnblogs.com/SUONAM1114----/p/5471699.html