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

Java网络编程-TCP和UDP的相关概述,第1张

网络编程的目的:

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

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

    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: 发送数据结束后无需释放资源,开销比较小,效率高。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/801003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存