Network programming udp套接字服务器或客户端的构成要素是什么

Network programming udp套接字服务器或客户端的构成要素是什么,network-programming,udp,client-server,Network Programming,Udp,Client Server,udp服务器可以接收和发送udp消息。 udp客户端可以接收和发送消息。 那么,什么是客户机,什么是服务器呢 服务器是发起第一条消息的一方还是对套接字进行绑定的一方,或者两者都是?服务器始终为客户端请求提供服务。根据定义。这意味着客户机总是发送第一条消息请求。为了能够接收消息,服务器绑定了一个套接字。套接字绑定是操作系统为您的进程保留特定本地端口的指令,无论服务器还是客户端 更新1 所以服务器必须执行绑定,但客户端可以执行绑定。如果您需要确定代码是否为服务器,则应在执行发送或发送之前检查此代码是

udp服务器可以接收和发送udp消息。 udp客户端可以接收和发送消息。 那么,什么是客户机,什么是服务器呢
服务器是发起第一条消息的一方还是对套接字进行绑定的一方,或者两者都是?

服务器始终为客户端请求提供服务。根据定义。这意味着客户机总是发送第一条消息请求。为了能够接收消息,服务器绑定了一个套接字。套接字绑定是操作系统为您的进程保留特定本地端口的指令,无论服务器还是客户端

更新1


所以服务器必须执行绑定,但客户端可以执行绑定。如果您需要确定代码是否为服务器,则应在执行发送或发送之前检查此代码是否执行bind和recv或recvfrom。

我已经阅读了许多关于堆栈溢出的帖子,也在互联网上,我发现了许多相互矛盾的解释。主要基于观点。但通常情况下,服务器是等待连接的端点,而客户端是启动连接的端点。请注意,在这些定义下,进程可以同时充当服务器和客户端,例如活动模式下的FTP。没有统一的定义;您只需要确保,如果您与某人谈论服务器和客户端,您同意使用对双方都具有相同含义的术语;只有同龄人。您能得到的最接近的结果是,“服务器”是绑定到固定端口的服务器(如果只有其中一个),但在UDP多播中完全崩溃,其中客户端或组成员必须绑定到固定端口号。从您的答复中,我是否理解具有绑定功能的一方始终是服务器?