Server UDP服务器与UDP客户端之间的差异

Server UDP服务器与UDP客户端之间的差异,server,udp,client,Server,Udp,Client,我正在尝试使用UDP协议,但我不理解UDP服务器和UDP客户端之间的区别。他们不是做了同样的事情吗?引自: 服务器组件向一个或多个客户机提供功能或服务,这些客户机启动对此类服务的请求 用我自己的话来说:服务器和客户机之间的区别是一个实用的区别,其概念类似于集中化和角色。拿餐馆的服务员和服务员桌子上的顾客之间的区别来衡量。根据餐厅等情况,客户也可能是自助餐的服务者,你可以在自助餐中为家人或朋友提供食物。无论哪种方式,当时提供服务的实体都可以被视为服务器,而接收服务的实体被概念化为客户机 客户机-服

我正在尝试使用UDP协议,但我不理解UDP服务器UDP客户端之间的区别。他们不是做了同样的事情吗?

引自:

服务器组件向一个或多个客户机提供功能或服务,这些客户机启动对此类服务的请求

用我自己的话来说:服务器和客户机之间的区别是一个实用的区别,其概念类似于集中化和角色。拿餐馆的服务员和服务员桌子上的顾客之间的区别来衡量。根据餐厅等情况,客户也可能是自助餐的服务者,你可以在自助餐中为家人或朋友提供食物。无论哪种方式,当时提供服务的实体都可以被视为服务器,而接收服务的实体被概念化为客户机

客户机-服务器模型也不是唯一的模型,而是被认为是一种新的模型

希望这有帮助

UDP服务器:

  • 首先运行(以打开侦听端口)
  • 打开特定端口
  • 通常可以接受多个客户端连接
UDP客户端:

  • 第二次运行(假定服务器已在运行)
  • 指示特定的目标端口
  • 随机(通常)选择服务器将答复的源端口
  • 通常为单线程,仅处理一个到UDP服务器的连接

事实上,它与TCP没有太大区别,只是没有三次握手,也没有任何流量控制和拥塞控制。

这实际上取决于你从什么角度看

从服务器/客户机体系结构的角度来看,这是完全不同的。你可以参考其他答案


从socket编程的角度来看,这是完全相同的。由于UDP连接较少,服务器和客户端将使用相同的
sendto
recvfrom
方法。没有这样的套接字API是唯一的服务器或客户端(谈到UDP)。因此,我更喜欢呼叫双方对等方或发送方/接收方,而不是服务器/客户端。

UDP服务器总是在侦听。UDP客户端仅在发送消息后侦听响应。至少在大多数情况下是这样。是的,它们是相似的,但逻辑上是不同的。我认为这同样适用于任何通信协议,而不仅仅是UDP。我想有些更容易实现。