Java学习之路-网络基础知识

307 阅读1分钟
1、基本概念

**网络:**计算机的互联行成网;连网目的:相互通信,资源共享

网络分类: 根据距离分,计算机网络分成 局域网,城域网,互联网

**IP地址:**网络中主机的地址(全球唯一,现在用的IP4 --- 快用完了 ---> IP6 在不久的将来会启用)

域名: IP地址的别名,因为IP不好记,也难理解,实际访问主机采用域名地址(就需一个域名服务器:将域名映射为对应的IP地址,然后再访问某一台主机)

**协议:**计算机之间的通信规则称为协议 (七层协议 :背一来)

**七层协议:**物理层 -- 数据链路层 -- 网络层 (IP)-- 传输层(TCP) --- 会话层 -- 表示层 --- 应用层 (记住)

TCP在传输时需要完成三次握手

2、网络命令

ping IP地址或者域名地址

ipconfig :查看本机IP地址信息

......

3、网络编程基础

网络编程SUN设计的相关组件被放到:java.net.* 包

IP地址类

InetAddress ip = InetAddress.getLocalHost();
ip = InetAddress.getByName("www.lanqiao.cn");
System.out.println(ip.getHostName() +" --  " + ip.getHostAddress() )

URL类: URL(Uniform Resource Locator 统一资源定位符) 网络爬虫主要手段

String spec ="http://dasai.lanqiao.cn/pages/dasai/about_ours.html";
URL url = new URL(spec);
//获取资源信息 ---本质是读取网络中的某一个主机中的某一个文档的信息;
InputStream in =  url.openStream(); //得到一个字节流;
OutputStream out = new FileOutputStream("E:\\about_ours.html");
byte[] buff =new byte[1024*4];
int len = -1;
while((len = in.read(buff))!=-1) {
	out.write(buff, 0, len);
}
out.close();
in.close();
4、Socket编程[核心]

套接字:IP + 端口 称为套接字 (socket编程是网络编程的核心)

socket编程分为:一种是基TCP的socket编程(面向连接的),一种是基于UDP的socket编程(面向非连接的)

在java.net包中,提供了几个核心组件:ServerSocket | Socket | DatagramSocket | DatagramPacket