posted 7 years ago
Like Ulf said, most communication methods are programmed on top of sockets. With RMI that's even clearer; UnicastRemoteObject has a constructor that takes both an RMIClientSocketFactory and an RMIServerSocketFactory. The sole purpose of those interfaces is create Socket / ServerSocket instances. If you use one of the other constructors a default is chose for each factory, and you'll use java.net.Socket and java.net.ServerSocket.