aspose file tools*
The moose likes Sockets and Internet Protocols and the fly likes This Weeks Giveaway Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Sockets and Internet Protocols
Bookmark "This Weeks Giveaway" Watch "This Weeks Giveaway" New topic
Author

This Weeks Giveaway

Carl Trusiak
Sheriff

Joined: Jun 13, 2000
Posts: 3340
This Week we are giving away four copies of the book
"Beginning Java Networking".
And the best part... The Authors Peter den Haan, Sean MacLean and Joel Peach are online to answer your questions!
Yes, Peter and Sean are Bartenders here at JavaRanch
Let's all give them a warm JavaRanch Welcome!!!
For details, check out JavaRanch Book Promotions
Thanks to the folks at Wrox for the books


I Hope This Helps
Carl Trusiak, SCJP2, SCWCD
Tom Ben
Ranch Hand

Joined: Aug 17, 2001
Posts: 109
Welcome Peter, Sean and Joel
Looked up the book on Amazon and noticed that you cover RMI and Cobra. What is your take on using these features I have heard mixed reviews on them. Also hew five star rating nice job.

------------------
Sun Certified Programmer on the Java 2 Platform


Sun Certified Programmer on the Java 2 Platform
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
I love being a JavaRanch bartender, but being welcomed as an author does give you that very special fuzzy feeling inside Thanks, Carl Happy to be here!
- Peter
Joel Peach
Greenhorn

Joined: Oct 12, 2001
Posts: 19
Glad to be here also.
In response to your question Tom, RMI and CORBA (and EJB and .NET, for that matter) are all about having options for remote/distributed computing.
RMI is of particular benefit because it exists right out of the box with the JDK. You get this distributed object framework for free, including the RMI registry which is used to do lookups. RMI takes care of virtually all the low-level networking headaches and together with the serialization facilities of Java allows you to send entire objects back and forth on the wire. The major downside to native RMI is that the object implementations need to be in Java. RMI over IIOP, however, lets rmi servers and clients communicate over the same protocol as CORBA objects.
CORBA provides more functionality over RMI. More than just a distributed object framework, CORBA begins providing additional services that are of value such as security and transaction management. These make it so that CORBA developers can leverage the benefit of distributed transactions without the headaches of implementing a transaction service. The other service implementations are meant to provide this ease of use. It would be possible to implement such services on top of RMI, but it isn't supported natively. Another nice thing about CORBA is that the interfaces are defined in a form that isn't platform or technology specific. Bindings are provided for each supported language (C, C++, Java, Python, and many other among them) so that servers and clients can be written in entirely different languages.
EJB builds upon the idea of RMI (distributed objects) and CORBA (easily available services) and tries to add the benefit of ease of persistence for objects. The whole idea is that now all of your objects run in a managed environment (container) that provides you a wealth of services including Container Managed Persistence, which even in its latest release, hasn't met all of its promises. Nonetheless, EJB is a stable, robust platform for creating distributed applications and can be a great deal easier to code than RMI and CORBA at times.
That's my whirlwind tour on the tradeoffs for these technologies. I didn't write the RMI or CORBA chapters, so perhaps some of the other guys will have some additional ideas. And if there's any specific point of comparison you'd like my take on, just ask!
Cheers,
-Joel
Rick Salsa
Ranch Hand

Joined: Jul 17, 2001
Posts: 173
Hi Guys,
Congratulations on the 5 stars at Amazon. I do have a question for you regarding java and the ftp protocol. I'm working on a project where one of the requirements is ftp access from within the application. Now I'm sure that I could write something with the java networking api, I was wondering if you guys had experience with ftp and java?
I don't think that there is an ftp api in java. Is it worth it to write my own, or is there a decent one out there? Any suggestions, tips, experiences or ideas would be great!
Thanks,
Rick Salsa
------------------
Joel Peach
Greenhorn

Joined: Oct 12, 2001
Posts: 19
Thanks Rick,
You are correct, there is no direct FTP protocol support class in java. All of the basic components you need are there: Threading, Socket I/O, File I/O, but you'd still need to write the control logic on your own. If you're feeling ambitious, the IETF RFC specification that defines FTP can be found at:
http://www.faqs.org/rfcs/rfc959.html
A search on SourceForge (http://sourceforge.net/) revealed a couple of open source FTP library projects that may be of use. If you're writing a server application, you might want to check out the Jakarta "Avalon" subproject which is an open source project that provides many basic components that are useful to write servers. You can find out more at:
http://jakarta.apache.org/avalon/index.html
Best of luck!
-Joel
[This message has been edited by Joel Peach (edited December 11, 2001).]
Tom Ben
Ranch Hand

Joined: Aug 17, 2001
Posts: 109
I have found a ftp package written in Java that I have used with complete success. I can not remeber the URL but if you want it I can email the jar file and documentation to you.
------------------
Sun Certified Programmer on the Java 2 Platform
Tom Ben
Ranch Hand

Joined: Aug 17, 2001
Posts: 109
Thanks for answering my RMI Cobra question it gave me a nice background on them. Looks like a really complete book!
Rick Salsa
Ranch Hand

Joined: Jul 17, 2001
Posts: 173
Thanks Joel. I have actually read the RFC for it. I know it will be a big task written all the code from scratch. Of course, as we all know, the client wants it done yesterday type thing. Thanks for the the heads up on Avalon. I haven't really had a chance to look at it, but I sounds like something of use.
Tom, that would be great if you could email me that jar file! How easy is it to use?
Thanks both Joel and Tom for your replies!!
-rick
Rick Salsa
Ranch Hand

Joined: Jul 17, 2001
Posts: 173
Sorry Tom,
rsal@mb.sympatico.ca would be the best address.
Thanks,
-rick
Tom Ben
Ranch Hand

Joined: Aug 17, 2001
Posts: 109
I am sending the file now. It is easy as pie plus the person that wrote it gives you the source code to freely modify. If you have any questions just email me.
Fei Ng
Ranch Hand

Joined: Aug 26, 2000
Posts: 1242
Welcome authors Peter, Sean and Joel
It there anyway to check packets information with Java?
Or this is too low level? I have problem connecting to a server behine a NAT and thats why i like to know packets information. But i dont know much about sockets in java or there isn't much about sockets in java. I am tcpdump-ing the connect to see the connections right now but really would like my java application to handle some too.
Sean MacLean
author
Ranch Hand

Joined: Nov 07, 2000
Posts: 621
You can use a DatagramSocket to recieve java.net.DatagramPackets and them query these packets. Something like this.

Check out the datagram classes in the java,.net package.
Sean
Savithri Devaraj
Ranch Hand

Joined: Jun 26, 2000
Posts: 103
Originally posted by Joel Peach:
[B]Thanks Rick,
You are correct, there is no direct FTP protocol support class in java. All of the basic components you need are there: Threading, Socket I/O, File I/O, but you'd still need to write the control logic on your own. If you're feeling ambitious, the IETF RFC specification that defines FTP can be found at:
http://www.faqs.org/rfcs/rfc959.html
[end Quote]
I found it really amazing that we didn't have any FTP classes in java about 8 months ago, when I had to write some FTP software. Anything in the works at all for future releases?? All I had was a week or two, of which I spent a few days to find what support Java gives, finally I used the Sun.net.ftp.FtpClient class to get the job done. I know these are not supported anymore, but we have the jars, so we can maintain it ourselves.
It was not just me, there were a bunch of people on many forums asking for this same functionality. I think this is definitely a short coming of Java.
Savithri
[This message has been edited by Savithri Devaraj (edited December 12, 2001).]
ruilin yang
Ranch Hand

Joined: Feb 25, 2001
Posts: 334
I saw the term XML-RPC around recently. Could you expert on Java Network give me some updates on the woek mechanism, usefulness, potentials, and comparison with other java network protcols.
Thanks,
Ruilin
Fei Ng
Ranch Hand

Joined: Aug 26, 2000
Posts: 1242
I was expecting to see XML or soap on the content list but there isn't when i click the link to amazon. Is that topic cover in your book? Shouldn't it be? There is no index on amazon so i am not sure.
Happy X'mas.
Tom Ben
Ranch Hand

Joined: Aug 17, 2001
Posts: 109
Has anyone used the JMS API? If so what is your take on it and what have you used it for?
------------------
Sun Certified Programmer on the Java 2 Platform
ruilin yang
Ranch Hand

Joined: Feb 25, 2001
Posts: 334
Does the book cover anything in networt through firewalls ?
RMI/tunnelling, etc.
Terry McKee
Ranch Hand

Joined: Sep 29, 2000
Posts: 173
Hi Guys,
One of the projects that I have been working on was developed with the following architecture: The server was running C++ and using the Inprise visibroker for C++ CORBA broker (2.3compliant). The clients were running Java and using (temporarily) the visibroker for Java(2.3compliant). Eventually, the company decided that it would be too expensive to keep the visibroker for Java. So I started coming up with ideas.
My goal was to use the standard CORBA ORB provided by SUN Microsystems. Though the documentation indicates that it is not fully 2.3 CORBA compliant I didn't think there would be any problems because we weren't doing anything fancy.
So after a few days I was able to successfully connect my Java clients with my C++ server. However, I could only do it by explicitly getting the IOR from the server and referencing it explicitly in the client. Obviously this was not an 'ideal' situation.
Bottom-line is that we needed to still utilize a naming service on the server. I was unable to get the Java clients to connect to the Visibroker for C++ nameservice. Do any of you know whether that is possible? Finally, can the tnameserv executable that is provided by SUN able to handle non-Java programs?
Thanks ahead of time for your thoughts...
Fei Ng
Ranch Hand

Joined: Aug 26, 2000
Posts: 1242
"The increasing popularity of the Internet has resulted in the majority of today's programming tasks and applications involving some form of networking"
I think java is pretty much on server side right now, J2EE. And its grow on server/client applcations i don't really see it? Any have comment on it?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: This Weeks Giveaway
 
Similar Threads
negated boolean
awt - toolkit method().method()
threads.....i thought a compile err would occur
one computation to be printed
This Weeks Winners