编程语言
首页 > 编程语言> > java – 如何在单个端口上同时运行tcp和udp?

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