java – 如何在单个端口上同时运行tcp和udp?
作者:互联网
我有一种情况,我必须一次在一个端口上运行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));
在这两种情况下,tcp连接都转到ServerSocket,udp包转到DatagramSocket
标签:java,networking,network-protocols 来源: https://codeday.me/bug/20190823/1696222.html