网络编程的开始,基础的基础

现在让我们(快乐的)来学习java中的网络编程

一、认识InetAddress
1.首先通过查阅API帮助文档在这里插入图片描述
我们知道,InetAddress是net包下的一个类,表示互联网协议(IP)地址。
2.然后我们往下查看它的常用方法
在这里插入图片描述
对于一个方法,阅读的时候要注意,功能、需要我们提供给方法的值的类型、返回值的类型,大体了解后继续往下走。
3.接下来我们通过一段代码来学习InetAddress

package 网络编程;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressTest {

	public static void main(String[] args) throws UnknownHostException {
		
		InetAddress[] ips = InetAddress.getAllByName("www.baidu.com");
		for(InetAddress ip:ips) {
			System.out.println(ip);
		}//ips作为百度的ip地址的集合,用for循环输出

		System.out.println("==============");
		
		InetAddress ip = InetAddress.getByName("localhost");//返回本机ip
		System.out.println(ip);
		
		System.out.println("==============");
		
		InetAddress ip2 = InetAddress.getLocalHost();//同样是返回本机ip
		System.out.println(ip2);
		System.out.println(ip2.getHostName());//输出本机名
	}

}

运行结果为:

www.baidu.com/119.75.217.109
www.baidu.com/119.75.217.26
==============
localhost/127.0.0.1
==============
DESKTOP-BN6OHT3

二、URL的学习

1.查阅帮助文档在这里插入图片描述
URL是net包下的一个类,URL的中文名是统一资源定位符,外文名是Uniform Resource Locator,具体可分成几个部分:
(1)协议
(2)文件所在的服务器的名称或IP地址,后面是到达这个文件的路径和文件本身的名称。

2.查看常用构造方法和常用方法

在这里插入图片描述
3.然后通过一个代码来实践里面提到的方法

package 网络编程;

import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;

public class URLTest {

	public static void main(String[] args) throws IOException {
		
		URL url = new URL("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=URL&rsv_pq=ecf631580002d369&rsv_t=c3e1xfOEvgtYFqWVscp62vOHgsWPJkqOCcx4upAeKgEpmAUoFaYG4e3itMI&rqlang=cn&rsv_enter=1&rsv_sug3=2&rsv_n=2");
		
		//输出url的协议名
		System.out.println("1  "+url.getProtocol());
		//输出此url的主机名
		System.out.println("2  "+url.getHost());
		//输出url端口号(注:访问客户端端口号时只会返回0和-1
		System.out.println("3  "+url.getPort());
		//获取与此 URL 关联协议的默认端口号。
		System.out.println("4  "+url.getDefaultPort());
		//输出url的路径部分
		System.out.println("5  "+url.getPath());
		//输出url的查询部分
		System.out.println("6  "+url.getQuery());
		//输出此url的文件名(也就是路径和查询的合体)
		System.out.println("7  "+url.getFile());
		
		System.out.println("================================");
		
		//打开到此 URL 的连接并返回一个用于从该连接读入的输入流
		InputStream is = url.openStream();
		FileWriter fw = new FileWriter("d:/lin/god.txt");
		
		//BufferedReader类能从字符输入流中读取文本,缓冲各个字符,实现高效读取
		BufferedReader br = new BufferedReader(new InputStreamReader(is));
		String line = null;
		while((line=br.readLine())!=null) {
			fw.write(line);
			fw.write("\n");
		}
		
		br.close();
		is.close();
		fw.close();
	}

}

输出结果为:
1  https
2  www.baidu.com
3  -1
4  443
5  /s
6  ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=URL&rsv_pq=ecf631580002d369&rsv_t=c3e1xfOEvgtYFqWVscp62vOHgsWPJkqOCcx4upAeKgEpmAUoFaYG4e3itMI&rqlang=cn&rsv_enter=1&rsv_sug3=2&rsv_n=2
7  /s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=URL&rsv_pq=ecf631580002d369&rsv_t=c3e1xfOEvgtYFqWVscp62vOHgsWPJkqOCcx4upAeKgEpmAUoFaYG4e3itMI&rqlang=cn&rsv_enter=1&rsv_sug3=2&rsv_n=2
================================
下面的是将信息读取到了一个txt文档中,在此不显示,当然也可以直接的添加到一个空的.html文档中,只要改变编码模式,能基本复原原网页框架。

三、TCP和UDP协议特点
1.TCP–就想打电话,可靠传输
2.UDP协议–就像写信,寄邮件,不能保证可靠传输,但是速度快。
//先写这些,明后两天补充第三

猜你喜欢

转载自blog.csdn.net/Jinx_vt_Lin/article/details/85092205