一、网络:将不同区域的计算机连在一起、局域网、城域网 、互联网

二、地址:IP地址--确定网络上的一个绝对地址---->相当于房子的地址

三、端口号:就相当于房门,区分计算机软件,相当于房门(两个字节(65536个)),

A.在同一个协议下,端口号不能重复,

B.1024一下的端口号,不要使用,预留给知名厂商

四、资源定位(URL)----统一资源定位符(L=laction定位的意思)   URI----统一资源

五、数据的传输(tcp分层-应用层-传输层-网络层-物理+数据连接层)---底层还是流

a) 协议:TCP(transfer contorl protocol(传输控制协议))和UDP(UserDAta)协议

i. TCP--类似于打电话-----相当于三次握手--(面向连接安全可靠)--效率相对低下

ii. UDP-类似于发短信-非面向连接--效率高

b) 传输:

i. 先封装

ii. 后拆分

======>类

一、InetAddress InetSorckedAddress

二、URL-

三、TCP - ServerSocket   -- Socket  ----安全可靠-面向连接

四、UDP-DategramSocket - DategramPacket  --不可靠-非面向连接

地址-InetAddress

一、创建对象

a) 没有构造函数,利用静态方法返回对象

i. InetAddress.getInstance();

b) 方法:

i. getHostAdderss();返回IP地址
ii. getHostName(); 返回域名,本机为计算机名
iii. InteAddress.getLocalHost();
iv. InteAddress.getByName(“域名:IP地址”);

InetSocketAddress:封装端口

一、创建对象:

a) InetSocketAddress(String hosename,int port); //制定IP地址或者域名,端口号
b) InetSocketAddress(InteAdderss addr,int port);//制定地址。端口号

二、方法:

a) getAdress();
b) getHostName();  //HostName()----域名
c) getPort();    //获得端口号

URI(Uniform resource identifier)

同一资源标识符,用来唯一个标识一个资源

URL(Uniform Resource Locator)

同一资源定位,他是一种具体的URL

一、组成(四部分):

a) 协议(http://)

b) 存放资源的主机域名(www.baidu.com)

c) :端口

d) 资源文件名(//以后的)

二、URL

a) 创建:

i. URL(String spec);  绝对路径构建

例如:http://www.baidu.com:80//index.html#aa?uname=bjsxt/

ii. URL(URL context,String spec); 相对路径构建

三、方法:

a) getProtocal();  //获得协议
b) getHost();    //获得主机名-域名
c) getPort();     //获得端口
d) getFile();    //获得资源
e) getPath();    //相对路径
f) getRef();  //获得锚点
g) getQuery();  //?参数-存在锚点返回null;不存在返回正确的

四、获取资源(源代码):

OpenStream---流


例子:获得一个网页的页面信息并创建文本保存


package com.lichao.inet.url;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
 
public class URLDome02 {
public static void main(String[] args) throws Exception {
//确定唯一地址URL
URL url = new URL("http://www.baidu.com");
//利用openStream方法 获得相应的网页的输入流
InputStream is=  url.openStream();
//一下是用字节流读取方法

//byte[] flush = new byte[1024];
//int len =0;
//while(-1!=(len=is.read(flush))){
//String str = new String(flush,0,len);
//System.out.println(str);
//}
//is.close();
//
//处理流
BufferedReader bis = new BufferedReader(new InputStreamReader(is,"utf-8"));
BufferedWriter bos = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("d:/IO/baidu.html"),"utf-8"));
String flush = "";
while(null!=(flush=bis.readLine())){
bos.append(flush);
bos.newLine();
}
bos.flush();
bos.close();
bis.close();

}

}