Java网络编程-TCP和UDP的相关概述

网络编程的目的:

直接或间接的通过网络协议与其他计算机实现数据交换,进行通信。

网络编程中有两个主要的问题:

    1: 如何精准地定位网络上一台或多台主机,定位主机上特定的应用。
    2: 找到主机后如何可靠高效地进行数据传输。

通信双方地址:

IP(标记一台计算机),端口号(区分一台主机上不同的应用(程序或进程))

端口号:

          标识正在计算机上运行的进程,不同的进程有自己的端口
          公认端口:0-1023,被预先定义为服务通信占用。
          注册端口:1024-49151,分配给用户进程或应用程序。
          动态/私有端口:49152-65535

网络协议:

计算机网络中实现通信必须有有一些约定,即通信协议。

TCP/IP的两个主要协议:

    TCP: 传输控制协议
    UDP: 用户数据报协议

TCP协议:

    1: 传输TCP协议之前,必须先建立TCP连接,形成传输数据通道。
    2: 传输前,采用三次握手方式,点对点通信,是可靠的。
    3: TCP协议进行通信的两个应用进程:客户端,服务端。
    4: 在连接中进行大数据量的传输。
    5: 传输完毕,需释放已建立的连接,效率比较低。

UDP协议:

    1: 将数据源,目的地封装成一个数据报,不需要建立连接。
    2: 每个数据报的大小限制在64K内。
    3: 发送方是否准备好,接收方收到也不确认,所以是不可靠的。
    4: 可以广播发送。
    5: 发送数据结束后无需释放资源,开销比较小,效率高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值