• Java Socket 编程


    简介:

    端口: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 }
  • 相关阅读:
    linux shell在while中用read从键盘输入
    ubuntu14.04折腾迅雷xware
    select与epoll分析
    ubuntu 14.04下练习lua
    C++中的重载、覆盖、隐藏
    删除ubuntu旧内核
    fcntl函数加文件锁
    系统中断与SA_RESTART
    linux使用共享内存通信的进程同步退出问题
    leetcode-easy-others-268 Missing Number
  • 原文地址:https://www.cnblogs.com/vector11248/p/6224410.html
Copyright © 2020-2023  润新知