java基础(网络编程---传输协议UTP、TCP)

TCP传输协议

  TCP:一种面向连接(连接导向)的、可靠的、 基于字节流的运输层(Transport layer)通信协议 。

    特点:1.面向连接

       2.点到点通信

       3.高可靠性

       4.占用系统资源多、效率低

  基本流程:    

   创建客户端
   1、建立连接: 使用Socket创建客户端 +服务的地址和端口
   2、操作: 输入输出流操作
   3、释放资源

  创建服务器
   1、指定端口 使用ServerSocket创建服务器
   2、阻塞式等待连接 accept
   3、操作: 输入输出流操作
   4、释放资源

UDP传输协议

  UDP:一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

    特点:1.非面向连接,传输不可靠,可能丢失

       2.发送不管对方是否准备好,接收方收到也不确认

         3.可以广播发送

         4.非常简单的协议,开销小 

  UDP基本概念

  DatagramSocket:用于发送或接收数据包的套接字
  DatagramPacket:数据包
 
  基本流程:  

   发送端
    1.使用DatagramSocket指定端口 创建发送端
    2.准备数据 一定要转换成字节数组
    3.封装成DatagramPacket包裹 需要指定目的地
    4.发送包裹send(DatagramPacket packet)*
    5.释放资源

  接收端

  *Address already in use:Connot bind 同一协议下端口不允许冲突
  * 1.使用DatagramSocket指定端口 创建接收端
  * 2.准备容器 封装成DatagramPacket包裹
  * 3.阻塞式接收包裹receive(DatagramPacket packet)
  * 4.分析数据:
    * byte[] getData()
    * getLength()
  * 5.释放资源

原文地址:https://www.cnblogs.com/skyline1/p/11228561.html