Java网络编程概述

发送信息三步走

  1. 找到对方的IP
  2. 数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些应用程序都进行了数字标识.为了方便称呼这些数字,称其为端口(也称逻辑端口)
  3. 定义通信规则.这个规则称作协议.国际组织定义了通用协议TCP/IP

IP地址

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异

  • 格式:是一个32位的二进制数,通常被分割为4个“8位二进制数"
  • 可以被分成A,B,C,D类
  • 本地回环地址:127.0.0.1 主机名:localhost

网络模型

OSI参考模型

分为7层:应用层,表示层,会话层,传输层,网络层,数据链接层,物理层

  • 数据传输原理:数据传输过程中数据被逐层封装,直到网络层对数据封装IP地址,再到数据链接层(选择传出的方式),直到最后通过物理层传输到目的地,然后数据被逐层拆包后传给对应端口的应用程序
TCP/IP参考模型
  • 分为4层:应用层,传输层,网际层,主机至网络层,较为简单.
  • 每层都有自己的协议,例如传输层最常见的协议就是TCPUDP,网际层最常见的就是IP(Internet Protocol 互联网协议),应用层协议常见的有HTTPFTP协议
  • Java网络编程在哪一层?:网际层和传输层

java.net.InetAddress

用来描述IP的类

public static void main(String [] args)throws UnknownHostException{
        //拿到自己主机的IP
        InetAddress i = InetAddress.getLocalHost();
        sop(i.getHostAddress());
        sop(i.getHostName());
        //拿到任意主机的IP
        byte [] p={(byte)14,(byte)215,(byte)177,(byte)39};
        InetAddress ia=InetAddress.getByAddress(p);
        sop(ia.getHostAddress());
        sop(ia.getHostName());
        //还可以获取百度主机地址(返回的对象可能不唯一)
        InetAddress baidu =InetAddress.getByName("www.baidu.com");
        sop(baidu);
    }

传输协议TCP和UDP

UDP特点
  • 将数据以及源和目的封装成数据包,不需要建立连接
  • 每个数据包的大小控制在64K内
  • 因为无连接,是不可靠协议
  • 不需要连接,速度快
TCP特点
  • 建立连接,形成传输数据的通道
  • 在连接中进行大数据量传输
  • 通过三次握手完成连接,是可靠协议
  • 必须建立连接,效率会稍低
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。