3

我有一种情况,比如我必须一次在一个端口上同时运行 UDP 和 TCP。这是因为在我的应用程序中,任何人都可以随时调用任何协议。所以我需要不断检查传入的请求并为请求提供服务。谁能帮我摆脱java中的这种情况?

4

1 回答 1

7

您无法检查请求是 TCP 还是 UDP。相反,您添加了一个 TCP 侦听器和一个 UDP 侦听器。如果您使用广播或多播地址,恕我直言 UDP 更有用。

例如

ServerSocket ss = new ServerSocket(12345);
DatagramSocket ds = new DatagramSocket(12345);

或者

ServerSocket ss = new ServerSocket(12345);
DatagramSocket ds = new MulticastSocket(new InetSocketAddress("224.224.1.1", 12345));

在这两种情况下,tcp 连接都到ServerSocketudp 数据包到DatagramSocket

于 2012-08-29T11:08:53.633 回答