您的位置:首页 > 编程语言 > Java开发

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

2016-05-08 20:15 302 查看

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

教材学习内容总结

网络概述

为了能够方便的识别网络上的每个设备,网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址。IP地址实际上是一种地理标识

IP地址和域名很好的解决了在网络中找到一个计算机的问题,但是为了让一个计算机可以同时运行多个网络程序,就引入了另外一个概念——端口(port)。计算机上可以并发运行多个网络程序,而不会在互相之间产生干扰。

网络通讯的过程:“请求-响应”模型。

第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别。

C/S结构:分别开发客户端和服务器端

B/S结构:使用通用的客户端,只开发服务端

协议: 规定数据的格式,这个数据的格式就是协议。

在现有的网络中,网络通讯的方式主要有两种:

TCP(传输控制协议)方式:较可靠

UDP(用户数据报协议)方式:可能失败丢失

网络编程技术

客户端步骤:

建立网络连接

交换数据

关闭网络连接

服务器端步骤:

监听端口

获得连接

交换数据

关闭连接

Java网络编程技术

InetAddress类:该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。

客户端编程

第一步:建立连接: Socket类型的对象代表网络连接 (TCP编程)如, Socket socket1 = new Socket(“192.168.1.103”,10000);

第二步:获得输出流和输入流:遵循“请求-响应”模型的规定,先向输出流中写入数据,这些数据会被系统发送出去,然后在从输入流中读取服务器端的反馈信息,这样就完成了一次数据交换过程,当然这个数据交换过程可以多次进行。

第三步:最后当数据交换完成以后,关闭网络连接,释放网络连接占用的系统端口和内存等资源,完成网络操作 socket1.close();

服务器编程

服务器端监听的代码为: ServerSocket ss = new ServerSocket(10000);

获得连接:当有客户端连接到达时,建立一个和客户端连接对应的Socket连接对象,实现获得连接的代码是 Socket socket = ss.accept();

在服务器端通信完成以后,关闭服务器端连接。实现的代码为 ss.close();

复用Socket连接。

服务器端支持多个客户端同时工作。

MulThreadSocketServer类实现服务器端控制,实现接收客户端连接,然后开启专门的逻辑线程处理该连接,LogicThread类实现对于一个客户端连接的逻辑处理,将处理的逻辑放置在该类的run方法中。

UDP

DatagramSocket类实现“网络连接” DatagramSocket ds = new DatagramSocket();

DatagramPacket类实现对于网络中传输的数据封装,包含发送方的地址、端口号等信息,也包含数据的内容。

按照UDP协议的约定,在进行数据传输时,系统只是尽全力传输数据,但是并不保证数据一定被正确传输,如果数据在传输过程中丢失,那就丢失了。

网络协议

网络协议是指对于网络中传输的数据格式的规定。

考虑客户端发送数据格式和服务器端反馈数据格式一一对应。

由于各种网络程序使用不同的协议格式,所以不同网络程序的客户端之间无法通用。

网络协议是网络程序的核心,所以在实际开始进行网络编程时,设计一个良好的协议格式也是必须进行的工作。

其他(感悟、思考等,可选)

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

JAVA的网络编程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: