第十三章 Java网络编程
学习了解用于网络编程的类,了解URL、Socket、InetAddress和DatagramSocket类在网络编程中的重要作用
使用URL创建对象的应用程序称作客户端程序。 用public URL(String spec) throws MalformedURLException构造方法创建URL对象。 通过调用InputStream openStream()方法返回指向URL对象包含的资源的输入流,可以将服务器上的资源信息读入到客户端 网络套接字是基于TCP协议的有连接通信。服务器建立ServerSocket对象,负责等待客户端请求建立套接字连接,客户端建立Socket对象向服务器发出套接字连接请求 基于UDP的通信比基于TCP的通信传递信息更快,但不提供可靠性保证 设计广播数据报网络程序时,必须将要广播或接受广播的主机加入到同一个D类地址 使用RMI可以让JVM上的应用程序请求调用位于网络上另一处JVM上的对象方法URL类
URL类是java.net包中的一个重要的类
一个URL对象包含的三个基本信息:协议、地址和资源 协议:必须是URL对象所在的Java虚拟机支持的协议,常用的有:Http、Ftp、File协议,由参数protocol指定 地址:必须是能连接的有效IP地址或域名,由参数host指定 资源:可以是主机上的任何一个文件,由参数file指定InetAddress类
Internet上主机表示地址的两种方式
域名 IP地址套接字
是基于TCP协议的网络通信
客户端套接字 对象建立方法:使用Socket类 Socket构造方法:Socket(String host,int port) 多线程技术 服务器端收到一个客户端的套接字时,就会启动一个专门为该客户服务的线程 套接字通信基本原则UPD数据报
基于UPD通信的基本模式
发送数据包 打包:使用DatagramPacket类 发送:使用构造方法DatagramSocket()创建一个对象 接收数据包 使用构造方法DatagramSocket(int port)创建一个对象 使用方法receive(DatagramPacket pack)接收数据包广播数据报
A类地址:a<128,则b.c.d表示主机
B类地址:128<=a<192,则a.b表示网络地址,c.d表示主机地址 C类地址:a>=192,a.b.c表示网络地址,d表示主机地址 D类地址:224.0.0.0~224.255.255.255是保留地址 要广播或接收广播的主机都必须加入到同一个D类地址脚本截图
上周错题总结本周难题总结
在本周的实验中,我们需要在IDEA中需要对程序代码实现重构,但是我并不会重构,所以上网查了一下,以下是重构快捷键。
重命名文件、方法、属性等(rename):SHIFT+F6 提取当前选择为变量(extract variable):CTRL+ALT+V 提取当前选择为属性(extract field):CTRL+ALT+F 提取当前选择为常量(extract constant):CTRL+ALT+C 提取当前选择为方法(extract method):CTRL+ALT+M 提取当前选择为方法参数(extract parameter):CTRL+ALT+P 重构类、方法(change signarture):CTRL+F6 提取代码块至if、try等结构中(surround with):CTRL+ALT+T 创建模块文件等(new):CTRL+ALT+N 创建测试用例(test):CTRL+SHIFT+T 重构菜单(refactor for this):CTRL+T