一、网络:将不同区域的计算机连在一起、局域网、城域网 、互联网
二、地址: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); 绝对路径构建
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();
}
}