Forums Register Login

difference between socket programming and rmi in java??

+Pie Number of slices to send: Send
i want to know, is there any difference between rmi and socket programming??
there is lot of things which we do in socket programming manually, that we don't need to do in rmi manually, is this the only difference or m i wrong??
+Pie Number of slices to send: Send
RMI means Java on both sides, which may or may not be an issue in your case. It also means you may have to keep the JVMs on both sides at the same Java version (RMI uses binary serialization underneath, and that tends not to work if the JVMs on either end are of different versions). Frankly, I can't imagine a scenario where I'd use RMI these days and not go for a REST API using Jersey or Restlet. Those also have high-level Java bindings, but provide much more architectural flexibility.
+Pie Number of slices to send: Send
RMI is built on top of sockets. It translates method calls and return values and sends those through sockets.

If you want you can even tweak the sockets used by RMI. There are interfaces RMIClientSocketFactory and RMIServerSocketFactory which are used to create the sockets and server sockets. By creating your own implementations (easiest is to extend RMISocketFactory) and supplying it when exporting your remote objects your own sockets are used. One example would be SslRMIClientSocketFactory / SslRMIServerSocketFactory for using RMI over SSL.
+Pie Number of slices to send: Send
so it means, basically objective of both are same, i mean both do the same job, isn't it??
+Pie Number of slices to send: Send
 

Punit Jain wrote:so it means, basically objective of both are same, i mean both do the same job, isn't it??



No.

Sockets are used for transferring data, usually between two different computers. The data can be in any protocol imaginable, can have any semantics imaginable, and the programs sending and receiving the data can both be Java, or one of them can, or neither.

RMI is a Java-specific protocol for (as the name implies) invoking a method in a different Java process, usually on a different computer. It is, as already stated, built on top of sockets.

Saying they're both "basically the same" is like saying an application written in Java is basically the same as the Java language.
passwords must contain 14 characters, a number, punctuation, a small bird, a bit of cheese and a tiny ad.
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 7461 times.
Similar Threads
different between RMI and Socket
What is the difference between RMI and Socket programming?
is there any connection between secket and RMI
Socket vs RMI vs Servlets
RMI Small Problem
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 11:12:13.