JAVA SE 网络编程基础

网络基础

IP地址:用于区分网络上每一台主机。

网络协议:IPV4、IPV6。用于统一通信语言标准。

端口号:0~65535,(0~1023内定)用于区分计算机上的不同程序。

TCP/IP协议:应用最广的协议。TCP(传输控制协议),IP(互联网协议)

网络编程:程序通过网络进行连接。位于java.net包中

java.net 包中提供了两种常见的网络协议的支持:

  • TCP:传输控制协议,保障了应用程序之间的可靠通信。常用于互联网协议,被称 TCP / IP
  • UDP:用户数据报协议,一个无连接的协议。提供了应用程序之间要发送的数据的数据报

java网络编程中的四大类

  • InetAddress:用于表示IP地址
  • URL:读写网络资源
  • Socket:实现网络通信(TCP)
  • Datagram:保存数据报中,进行通信(UDP)

InetAddress类

常用方法

  • static InetAddress getLocalHost() //返回本地主机实例
  • static InetAddress getByAddress(byte[] addr) //输入ip地址,返回对应主机实例
  • static InetAddress getByName(String host) //输入主机名,返回对应主机实例
  • static InetAddress getByAddress(String host, byte[] addr) //输入主机名,ip地址,返回主机实例
  • byte[] getAddress() //返回主机ip地址
  • String getHostAddress() //返回主机地址
  • String getHostName() //返回主机名
  • boolean isAnyLocalAddress() //检查 InetAddress 是否是通配符地址的实用例行程序。
  • boolean isLinkLocalAddress() //检查 InetAddress 是否是链接本地地址的实用例行程序。
  • boolean isLoopbackAddress() //检查 InetAddress 是否是回送地址的实用例行程序。

URL

统一资源定位符:表示网络上资源,它是指向互联网“资源”的指针。

eg.:协议 : 资源名

https://www.baidu.com/index.html

构造方法:

  • URL(String spec)
  • URL(String protocol, String host, int port, String file)
  • URL(String protocol, String host, int port, String file, URLStreamHandler handler)
  • URL(String protocol, String host, String file)
  • URL(URL context, String spec)
  • URL(URL context, String spec, URLStreamHandler handler)

eg.:

URL test = new URL("http://www.baidu.com");

URL url = new URL(test,"/index.html?username=tom#test");// #后面表示锚点,?后面表示参数

常用方法:

  • Object getContent() //获取此URL内容
  • int getDefaultPort() //获取此URL默认端口
  • int getPort() //获取此端口,没有指定则默认-1
  • String getFile() // 获取此URL文件名
  • String getHost() //获取主机名
  • String getPath() //获取该路径
  • String getProtocol() //获取此协议名
  • String getQuery() //获取URL查询部分
  • String getRef() //获取URL的锚点(引用),获取相对路径
  • String getUserInfo() //获取URL的userInfo部分
  • URLConnection openConnection() //URL 所引用的远程对象的连接。
  • InputStream openStream() //打开此 URL连接,返回从该连接读入的 InputStream
  • protected void set(String protocol, String host, int port, String file, String ref) //设置 URL 的字段

实例应用——获取网页信息

//获取网页信息
import java.io.*;
import java.net.*;
public class TestURL {
    public static void main(String[] args) {
        InputStream inputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader bufferedReader = null;
        try {
            URL url = new URL("http://www.baidu.com");
            inputStream = url.openStream();//获取网页的字节流
            inputStreamReader = new InputStreamReader(inputStream, "utf-8");//转化为字符流
            bufferedReader = new BufferedReader(inputStreamReader);//提高读写效率
            String data = bufferedReader.readLine();
            while (data != null) {
                System.out.println(data);
                data = bufferedReader.readLine();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
                if (inputStreamReader != null) {
                    inputStreamReader.close();
                }
                if (inputStream != null) {
                    inputStream.close();
                }
            } catch (Exception e) {
            }
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值