我需要覆盖DatagramSocket传输的默认实现,即PlainDatagramSocketImpl,我发现java提供了一种通过DatagramSocketImplFactory类来实现的方法。但是我的要求是将我自己的类用于非常特定的情况,并对所有其他情况使用默认的UDP套接字传输。基本上在SocketFactory类中添加一个if-else子句,如果满足条件,它将实例化我的类,否则实例化默认传输。
我的困境是我无法在socketfactory中实例化PlainDatagramSocketImpl,因为这个类只在" java.net"内可见。厂。另一个选择是将我的SocketFactory类放在java.net包中,但是java不允许它。我尝试添加"权限java.lang.RuntimePermission" defineClassInPackage.java.net";"在策略文件中,然后在java.net包中定义我的SocketFactory,但这似乎也不起作用。有什么想法吗?