我有一个这样的情况,需要同时在一个端口上运行UDP和TCP。这是因为在我的应用程序中,任何人都可以随时调用任何协议。因此,我需要不断地检查传入的请求并提供服务。有谁能帮助我在Java中摆脱这种情况吗?
我有一个这样的情况,需要同时在一个端口上运行UDP和TCP。这是因为在我的应用程序中,任何人都可以随时调用任何协议。因此,我需要不断地检查传入的请求并提供服务。有谁能帮助我在Java中摆脱这种情况吗?
您无法检查请求是TCP还是UDP。相反,您需要添加一个TCP监听器和一个UDP监听器。如果使用广播或多播地址,则IMHO 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));
ServerSocket
,而UDP数据包则会到达DatagramSocket
。