简介:
端口:1
1.用于区别不同的应用程序。
2. 端口号范围0~65535 ,0~1023为系统所保留。
3.IP 地址和 端口号组成了Socket .Socket 是网络运行的程序之间双向通信链路的终点,是TCP 和UDP的基础。
4.常见的端口号 http 80 ftp:21 telnet 23
Java 中的网络支持:
针对网络通信的不同层次,分为四类
1.InetAddress ,用于表示网络上的硬件类(标识IP地址相关信息)
2.URL:网络资源定位
3.Sockets :用于TCP
4.Datagram :用于UDP
package com.InetAddress;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
public class Test1 {
public static void main(String[] args) throws UnknownHostException{
InetAddress address = InetAddress.getLocalHost();
System.out.println("计算机名字: " + address.getHostName());
System.out.println("计算机的地址:" + address.getHostAddress());
byte[] bytes = address.getAddress();//获取字节数组形式的IP
System.out.println(Arrays.toString(bytes));
System.out.println(address);
//InetAddress address2 = InetAddress.getByAddress(bytes);
//InetAddress address2 = InetAddress.getByName("");
//System.out.println(address2.getHostAddress());
InetAddress bdaddress = InetAddress.getByName("www.163.com");
System.out.println(bdaddress);
System.out.println("本机是否可达?"+ address.isReachable(5000));
}
}
URL 类:统一资源定位符
创建URL实例:
1 package com.InetAddress; 2 3 /*import java.io.IOException;*/ 4 import java.io.IOException; 5 import java.net.InetAddress; 6 import java.net.URL; 7 import java.net.UnknownHostException; 8 import java.util.Arrays; 9 10 public class Test1 { 11 12 public static void main(String[] args) throws IOException{ 13 //创建一个URL实例 14 URL imooc = new URL("http://www.imooc.com"); 15 //根据已有实例,创建一个新的实例 16 // ?后面跟的是参数,# 后面跟的是锚点 17 URL url = new URL(imooc,"/index.html?username=tom#test"); 18 System.out.println("协议:"+ url.getProtocol()); 19 System.out.println("主机:"+ url.getHost()); 20 //如果没有指定端口号,则返回默认端口号,此时getPort()返回值为-1 21 System.out.println("端口号:" +url.getPort()); 22 System.out.println("文件路径:"+ url.getPath()); 23 System.out.println("文件名:"+ url.getFile()); 24 System.out.println("相对路径:"+ url.getRef()); 25 System.out.println("查询字符串:"+ url.getQuery()); 26 27 } 28 }
使用URL读取页面内容
1 package com.InetAddress; 2 3 /*import java.io.IOException;*/ 4 import java.io.BufferedReader; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.InputStreamReader; 8 import java.net.InetAddress; 9 import java.net.URL; 10 import java.net.UnknownHostException; 11 import java.util.Arrays; 12 /* 13 * 使用URL读取页面内容 14 */ 15 public class Test1 { 16 17 public static void main(String[] args) throws IOException{ 18 //创建一个URL实例 19 URL url = new URL("http://www.baidu.com"); 20 //通过URL的openStream()方法,获取URL的对象表示的字节输入流 21 InputStream is = url.openStream(); 22 //将字节输入流转化为字符输入流,同时指定字符集,以防乱码 23 InputStreamReader isr = new InputStreamReader(is,"utf-8"); 24 // 为字符输入流添加缓冲 25 BufferedReader br= new BufferedReader(isr); 26 String data = br.readLine();//一次读取一行 27 while(data!= null){ 28 System.out.println(data); 29 data = br.readLine(); 30 } 31 32 } 33 }