UDP 服务器与 TCP 服务器有何不同
UDP服务器
当客户端想要与 UDP 服务器交互时,会在客户端的机器上创建一个 UDP socket。当客户端向 UDP 服务器发送数据包时,它会将一个目标地址附加到数据包中,该地址由 UDP 服务器的 IP 地址和端口号组成。此外,客户端的 IP 地址以及客户端socket的端口号也附加到数据包中。
同样,UDP Server 也在他的机器上创建了一个socket。UDP 服务器始终侦听分配给socket的端口号。当任何客户端向服务器 IP 地址处的服务器端口号发送数据包时,该数据包将被定向到服务器的socket。当数据包到达服务器的socket时,数据包的数据以及数据包的源地址(客户端的 IP 和端口号)被存储。有了这个源地址信息,服务器就知道它应该把它的回复定向到哪里。服务器处理客户端的数据包,并使用已保存在服务器中的客户端 IP 和端口号将回复数据包发送给客户端。服务器发送数据包后,服务器继续侦听分配给socket的端口号,
TCP服务器
当客户端想要与 TCP 服务器交互时,会在客户端的机器上创建一个 TCP socket(clientSocket)。在客户端可以使用 TCP socket向服务器发送数据之前(反之亦然),必须首先在客户端和服务器之间建立 TCP 连接。
TCP 服务器创建一个socket (serverSocket) 并将端口号 (serverPort) 与这个socket (serverSocket) 相关联。服务器在此socket (serverSocket) 上等待和侦听客户端。当服务器在 serverSocket 处收到来自客户端的请求时,服务器会创建一个名为 connectionSocket 的新socket,专用于该特定客户端。然后客户端和服务器完成握手,在客户端的 clientSocket 和服务器的 connectionSocket 之间创建 TCP 连接。建立 TCP 连接后,客户端和服务器现在可以通过连接相互发送数据。一旦客户端和服务器之间的数据传输完成,服务器关闭专用于该特定客户端的 connectionSocket。但是由于 serverSocket 保持打开状态,另一个客户端也可以向服务器发送请求。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!