一、IP地址
(1)位于java.net包下的InetAddress类用来表示IP地址,一个InetAddress对象就代表着一个IP地址
(2)由于InetAddress类将构造器给私有化了,所以不能通过构造器直接创建InetAddress类的对象。但是可以在给定主机名的情况下,可以确定主机的IP地址,即调用InetAddress类的静态方法:getByName(String host)
(3)通过对象调用两个方法:
①getHostName():获取IP地址对应的域名
②getHostAddress():获取对应的IP地址
(4)扩展
①DNS,即域名解析服务器,可以通过域名解析出对应的IP地址
②端口号:用来标识计算机上正在运行的一个程序,两个计算机上通过IP地址进行连接,但是相同的程序要进行安全的通信交互,端口号必须相同,比如,QQ;
③端口号和IP地址共同组成一个网络套接字(Socket),网络通信也就是Socket通信
二、网络通信协议
(1)协议
①传输层协议:传输控制协议TCP和用户数据报协议UDP
②网络协议:IP协议
(2)实现TCP的Socket类和ServerSocket类
①Socket类:是客户端的网络套接字类,通过Socket类的对象调用getInputStream()和getOutputStream()方法,使得可以IO流的方式实现网络的通信
②ServerSocket类:是服务器端的网络套接字类,使用它的时候需要调用它的对象的accept()方法返回一个Socket对象,然后将Socket对象转化成需要的流,从而实现网络的通信
(3)实现UDP的DatagramSocket类和DatagramPacket类
①DatagramSocket类:通过调用其对象的send(DatagramPacket类的对象)和receive(DatagramPacket类的对象)方法实现数据报的发送和接收
②DatagramPacket类:创建一个数据报对象,此对象包含要发送或接收的数据,地址,端口号等信息
三、URL类
(1)一个URL类的对象,代表着互联网的一个资源,可以通过调用其对象的方法获取这个资源(下载)
(2)如何获取资源
通过调用其对象的openStream()方法将其转换成流的形式进行读取操作
(3)如何向服务器输出数据
使用URLConnection类的对象,可以向服务器输出数据,即调用URL类对象的OpenConnetion()方法,返回一个URLConnection类的对象,然后调用此对象的getInputStream()方法转换成流的形式进行输出操作