This week's book giveaway is in the Agile and other Processes forum. We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line! See this thread for details.
difference between socket programming and rmi in java??
Punit Jain
Ranch Hand
Joined: Aug 20, 2011
Posts: 902
posted
0
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??
Tim Moores
Rancher
Joined: Sep 21, 2011
Posts: 2407
posted
0
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.
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.
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.
subject: difference between socket programming and rmi in java??