认识传输层协议—TCP/UDP

      最后更新:2022-07-23 23:00:58 手机定位技术交流文章

      目录

      传输层的两个重要协议

      UDP:用户报告协议

      TCP:传输控制协议

      UDP与TCP对比

      相同点:

      不同点:

      五元组信息

      索克

      在在Java中使用的UDP协议

      class DatagramSocket (报文套接字) : 用于UDP通信

      1.UDP服务器

      2.UDP客户端

      3.接收及发送

      4.关闭

      class DatagramPakcet:通信中的数据抽象

      1.接收方

      2.发送方

      3.通常作为服务器使用的方法

      一般用作接收器的方法

      服务器与客户端

      常见模式

      1.请求(Request)-响应(Response)模式

      2.订阅(subsrcipt) - 广播(broadcase)模式

      UDP总结

      TCP

      1.构造方法

      作为服务器,我们需要创建自己的接口对象

      使用插座对象

      2.accept

      3.close

      接口接收通信信息

      5.输入流

      6.输出流

      输入和输出流的使用

      基于数据的报告与基于线程的报告之间的区别

      传输层的两个重要协议

      首先要明确,现在要说的UDP,和马上要说的TCP,都是在传输层工作的协议种类。

      UDP:用户报告协议

      传输层协议要求实现过程之间的通信.

      UDP协议的两个端不是真正连接的,它们只是传输数据。

      UDP没有做任何处理,保持网络的原始生态状态,不保护网络的作用,所以不可靠。

      TCP:传输控制协议

      传输层协议要求实现过程之间的通信.

      TCP协议将服务器连接到客户端。

      TCP做一些传输控制,使通信更加可靠。

      UDP与TCP对比

      相同点:

      都是传输层协议要求实现过程之间的通信.

      不同点:

      UDP:不可靠、不连接、数据导向的协议。

      TCP:可靠、连接和节点导向的协议。

      五元组信息

      两个通信的IP地址+两个通信的端口地址+传输层协议=五维群信息。

      通过五维群信息,只能确定网络上的一个通信线

      索克

      插座键是一个重要的概念,在应用层面进行网络编程。

      简言之,在应用层下,通信由计算机操作系统的硬件提供,

      如果应用程序想要使用网络服务,它需要使用操作系统提供的网络服务窗口索克来享受服务。


      在在Java中使用的UDP协议

      class DatagramSocket (报文套接字) : 用于UDP通信

      这个类是Socket类的一个子类,它复制UDP通信,并且有两个建模方法。

      服务器的一个端口参数。

      为客户端的非独立构造

      1.UDP服务器

      我们使用 Socket Construct方法创建服务器端通信的对象

      使用固定端口来促进客户端的通信可能出现错误的危险,例如在想进行通信时检测其他进程使用的端口。

      2.UDP客户端

      它仍然是一个接口建模方法,但不需要传输,我们只作为客户端发送数据到服务器,并接收服务器的响应数据。

      3.接收及发送

      该消息的内容是讨论下一个消息包类

      4.关闭

      用完之后,记得关闭

      class DatagramPakcet:通信中的数据抽象

      这个东西相当于由索克类发送的数据包

      它包含五元组信息和数据内容

      1.接收方

      它只接收一个消息,所以它只需要一个字节包来接收它。

      2.发送方

      发送者需要提供当前数据内容,已经提供对方的IP和端口

      3.通常作为服务器使用的方法

      我们可以得到接收新建的 port , ip 以及数据。

      获取端口和IP可以发送数据回,所以这是服务器的通常方法。

      有了这些,我们可以把数据发送回

      首先得到对方的信息

      然后用Packet包装,然后再送回

      一般用作接收器的方法

      接收器需要数据,所以 getData方法比较常见

      服务器与客户端

      一般说来,服务器位于应用程序一级,向目标提供服务

      客户是服务的终结

      常见模式

      1.请求(Request)-响应(Response)模式

      一次请求,一次响应

      这意味着客户端发送请求,服务器接收和响应,并且在进程中服务器是被动的。

      下面是一个简单的发送更新,没有客户端,没有服务器,发送发送者的数据,接收和更新接收者的数据。

      下面的图则更符合服务器与客户端之间的相互作用,客户端首先向服务器发送数据,然后处理服务器序列以发送客户端回。

      通信数据都是采用二进制数据的方式通信,在这里表现为byte[]方式传播。

      2.订阅(subsrcipt) - 广播(broadcase)模式

      一旦客户订阅,服务器会自动定期向客户发送信息。

      这里的服务器相对活跃。

      UDP总结

      1.网络编程的情况

      2.如何使用IP+端口

      3.使用插座

      4.UDP的特征:不可靠、不连结、数据导向的讯息(信息内容在通信时不分开,即我没有打开这个信封,并无数据变更问题,另一方当然可以完全接收数据,只要它被发送)

      TCP

      TCP是一个可靠的、面向连接的、字节流协议

      1.构造方法

      作为服务器,我们需要创建自己的接口对象

      使用ServerSocket对象

      作为客户端连接服务器

      使用插座对象

      2.accept

      服务器的接口对象由客户端接收,不需要自己创建

      监视客户端端口,当一个客户端连接后,返回一个索克对象到服务器端并连接到该客户端直到关闭,在这种情况下,其他客户端只能阻止等待。

      索克对象相当于已建立的连接:

      3.close

      客户端和服务器可以调用此方法关闭通信

      接口接收通信信息

      当服务端到达索克对象时,可以调用该方法来确定另一方的信息。

      5.输入流

      当接收器接收信息时,它接收输入流

      6.输出流

      发送数据使用输出流

      输入和输出流的使用

      基于数据的报告与基于线程的报告之间的区别

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30535.html

          热门文章

          文章分类