我有一种情况,比如我必须一次在一个端口上同时运行 UDP 和 TCP。这是因为在我的应用程序中,任何人都可以随时调用任何协议。所以我需要不断检查传入的请求并为请求提供服务。谁能帮我摆脱java中的这种情况?
问问题
3272 次
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 连接都到ServerSocket
udp 数据包到DatagramSocket
于 2012-08-29T11:08:53.633 回答