网络编程

网络编程三要素

      ip地址    是网络设备在网络中的唯一标识.

        

       InetAddress 是java对ip地址的封装

      InetAddress类没有构造方法,所以不能直接new出一个对象。

      获得inteAddress获得inteAdress实例的方法

      InetAddress getByName(String host)                                                         

      端口号    端口号是程序在一台电脑上的唯一标识  它的取值范围是0-65535

      传输协议: 传输协议  UDP协议   TCP协议

          udp协议的特点 

          1udp是面向无连接的.即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的延误

          2 udp尽最大努力进行交付,即不保证可靠交付

          3 udp支持一对一 多对一和多对多的交互通信

          4开销小,传输快

      tcp协议:

          特点:

            tcp面向连接

            tcp提供可靠的服务,通过tcp连接传输的数据,无差错,不丢失,不重复,且按序到达.

            每一条tcp连接只能点到点的

            相对udp传输,开销大,传输慢

      udp通信原理

      udp是一种不可靠的协议,它在通信两端建立socket对象,但是这两个socket对象只是发送数据和接收数据的对象,因此基于udp协议没有所谓的客户端服务端的概念

      DatagramSocket是udp协议的实现类

          创建DatagramSocket对象

        构建数据包

           DatagramPacket(byte buf[], int length, InetAddress address, int port)

      通过

        DatagramSocket对象的send方法进行发送

      最后调用close方法进行关闭

      

      接收是调用recive()方法接收,也需要构建数据包进行接收

  tcp通信原理

      tcp是一种可靠的的网络协议,它在通信两端各建立了一个socket对象 从而在通信的两端形成了一个虚拟的网络链路

      java基于tcp协议提供了良好的封装,使用socket类即可,并通过socket产生io来进行网络通信

      java客户端 提供socket 类  服务端提供serversocket

      serverSocket类调用accept()方法进行监听,如果有客户端进行连接,就创建一个socket对象.然后调用getinputStream方法进行读数据,

  

                  

   

 

 1  

原文地址:https://www.cnblogs.com/qmk-716/p/11759741.html