Java之網絡編程

一、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()方法转换成流的形式进行输出操作

猜你喜欢

转载自zxq1007097830.iteye.com/blog/2369787
今日推荐