在这里研究和询问当然,我发现了一些我以前不知道/意识到的东西
一个进程可以绑定两个不同协议的特定端口
例如。 X
和TCP
的相同端口UDP
。 (还有其他众所周知的例子吗?)
但这怎么可能呢?
我的意思是,如果我new DatagramSocket(6789);
和new ServerSocket(6789);
我假设我可以在我的程序中同时接受TCP
和UDP
,并且只委托给不同的类。对吗?
但这实际上是如何运作的呢? java是否了解客户端是使用TCP
还是UDP
并将套接字传递给相应的类?
答案 0 :(得分:2)
端口存在于协议的命名空间内。它不是同一个端口,只有相同的端口号。
Java也没有任何东西可以解决它。