UDP通信需要Java ServerSocket吗?

UDP通信需要Java ServerSocket吗?,java,udp,serversocket,Java,Udp,Serversocket,我在考试中有以下问题: “假设您希望对客户端使用UDP。是否需要创建新的套接字来管理UDP中的并行连接?为什么?为什么?如果多个客户端连接到该套接字,会发生什么情况?” 该问题还引用了一个Java类TCPServer.Java,该类创建ServerSocket,然后在循环中(true)接受连接并为来自用户的传入连接请求创建套接字 在我看来,TCP服务器只用于TCP连接,因此不可能为UDP客户端使用相同的服务器端代码 你在正确的轨道上 用于TCP连接。(仍然没有连接)用于UDP 回答另一部分,即“

我在考试中有以下问题:

“假设您希望对客户端使用UDP。是否需要创建新的套接字来管理UDP中的并行连接?为什么?为什么?如果多个客户端连接到该套接字,会发生什么情况?”

该问题还引用了一个Java类
TCPServer.Java
,该类创建ServerSocket,然后在
循环中(true)
接受连接并为来自用户的传入连接请求创建套接字


在我看来,TCP服务器只用于TCP连接,因此不可能为UDP客户端使用相同的服务器端代码

你在正确的轨道上

用于TCP连接。(仍然没有连接)用于UDP

回答另一部分,即“如果多个客户端连接到该套接字会发生什么情况?”答案是:

  • 如果是UDP,那就没问题,因为它是无连接的
  • 如果是TCP,那么ServerSocket应该看到连接请求,并为与该客户端的双向通信创建一个新套接字

  • 要回答“为什么或为什么不”-UDP是无连接的,因此新套接字不用于通信。UDP只接收一个DatagramPacket,然后丢弃它(如果应用程序确定它无效、格式错误等),或者用DatagramPacket进行回复。UDP中没有连接,没有连接状态,也没有输入/输出流。

    问题要求您解释原因。因此,本质上,如果您不相信ServerSocket代码适用于UDP,那么您必须说明原因。从你的最后一句话,我相信你知道问题的答案,现在你只需要自信地写下来