网络编程基础/TCPIP/Socket/InetAddress/URL



网络编程基础/TCPIP/Socket/InetAddress/URL_第1张图片
现实运用中,Socket还是经常用的
网络编程基础/TCPIP/Socket/InetAddress/URL_第2张图片
通信必备条件

1、每台主机拥有唯一的标识(IP地址)
2、共同的通信语言(协议)
3、区别不同应用程序的端口


网络编程基础/TCPIP/Socket/InetAddress/URL_第3张图片
网络编程基础/TCPIP/Socket/InetAddress/URL_第4张图片

网线、网卡等属于物理层;TCP/IP协议在传输层;应用层也是用户可以直接接触得到的,如以下协议:


网络编程基础/TCPIP/Socket/InetAddress/URL_第5张图片
应用层协议

网络编程基础/TCPIP/Socket/InetAddress/URL_第6张图片
IP地址

IP地址也有格式,IPv4版本指的是第四个版本
端口:
一台电脑可以运行多个不同的程序,用端口号区分这些应用程序。一台电脑上的QQ消息能不能被另一台电脑的MSN接收呢?当然不能,原因就是两个程序的端口号不同


自定义端口号时,建议1023之后的

网络编程基础/TCPIP/Socket/InetAddress/URL_第7张图片
Socket
常用协议默认端口号
网络编程基础/TCPIP/Socket/InetAddress/URL_第8张图片
public static void main(String[] args) throws UnknownHostException {
        
        //获取本机的InetAddress实例
        InetAddress address1=InetAddress.getLocalHost();  //会产生异常,try/catch解决或者抛出异常
        System.out.println("本机InetAddress获得计算机名称:"+address1.getHostName());
        System.out.println("本机InetAddress获得计算机IP地址:"+address1.getHostAddress());
        //字符数组获得IP地址
        byte[] bytes1=address1.getAddress();         //可能会溢出
        System.out.println("字符数组形式获得IP:"+Arrays.toString(bytes1));
        //直接输出InetAddress对象
        System.out.println(address1);
        System.out.println("===================");
        
        //根据其他电脑的名称获取InetAddress对象
        InetAddress address2=InetAddress.getByName("Lenovo-PC");
        System.out.println("获得名称:"+address2.getHostName());
        System.out.println("获得IP地址:"+address2.getHostAddress());
        
        //根据其他电脑的IP获取InetAddress对象
        InetAddress address3=InetAddress.getByName("192.168.1.108");
        System.out.println("名称:"+address3.getHostName());
        System.out.println("IP地址:"+address3.getHostAddress());
        
    }
网络编程基础/TCPIP/Socket/InetAddress/URL_第9张图片
InetAddress运行截图


URL

网络编程基础/TCPIP/Socket/InetAddress/URL_第10张图片
URL

一个网址就是一个URL,如“www.baidu.com”就是一个URL

网络编程基础/TCPIP/Socket/InetAddress/URL_第11张图片
URL组成

你可能感兴趣的:(网络编程基础/TCPIP/Socket/InetAddress/URL)