Skip to main content

Sockets and Airplanes

Posted by daniel on September 18, 2003 at 7:17 AM PDT

The Peer-to-Peer Sockets Project has a vision of "returning the end-to-end principle to the Internet. The vision includes a P2P DNS server known as DisDNS which their wiki page describes as "a distributed, secure, human-friendly Domain Name System." This idea isn't fully formed - join the discussion on their wiki page.

The p2psockets project provides a layer on top of JXTA so that you can take advantage of the JXTA framework while treating it almost as if you are still working with a standard TCP/IP network. The project home page explains this after presenting the goals as

The Peer-to-Peer Sockets Project reimplements Java's standard Socket, ServerSocket, and InetAddress classes to work on a peer-to-peer network rather than on the standard TCP/IP network. "Aren't standard TCP/IP sockets and server sockets already peer-to-peer?" some might ask. Standard TCP/IP sockets and server sockets are theoretically peer-to-peer but in practice are not due to firewalls, Network Address Translation (NAT) devices, and political and technical issues with the Domain Name System (DNS).

Check out the Power Point p2psockets presentation or the Introduction to Peer-to-Peer Sockets for more information.

In Projects and Communities we feature a P2P application being built using the P2P Sockets framework. The java.net JXTA Community is hosting the Paper Airplane project. Although the project is just at the beginning stages, their goals are

Paper Airplane is a Mozilla plugin that empowers people to easily create collaborative communities without setting up servers or spending money. It does this by integrating a web server into the browser itself, including tools to create collaborative online communities that are stored on the machine. Web sites are stored locally on a user's machine. A peer-to-peer network is created between all of the Paper Airplane nodes that are running in order to resolve domain names, reach normally unreachable peers due to firewalls or NAT devices, and to replicate content.

Projects and Communities also links to the product announcements for the java.net JavaDesktop community. The latest feature is the jvider 1.6 release.

In today's featured Weblogs, Chet Haase continues his impressive technical preview of "everyone's favorite disappearing image type" in VolatileImage Q and A. After presenting a description of VolatileImage in his previous blog entry, Haase addresses questions such as whether they should be used in place of BufferedImages or managed images. He answers that, you won't need to worry about this choice for Swing apps as Swing uses a VolatileImage back buffer. Also, prolific poster Philip Brittan points to an article he's written for ZDNet in Building software that matters.

In Also in Java Today we link to two wireless articles. Soma Ghosh explains how you can use "the kXML package to write an application for the MIDP profile that can parse an XML document." In the developerWorks article Add XML parsing to your J2ME applications provides an example that parses RSS and presents the result on your phone. You can also check out this overview of The Generic Connection Framework. In it C. Enrique Ortiz
describes the architecture and use of the GFC API and points you to more resources.

In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review by news director Steve Mallet before being posted to the site. You can also subscribe to the java.net News RSS feed.

Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

This blog is delivered weekdays as the Java Today RSS feed. Once this page is no longer featured as the front page of href="http://today.java.net"> Java Today it will be archived at href="http://today.java.net/today/archive/index_09182003.html">
http://today.java.net/today/archive/index_09182003.html. You can
access other past issues in the java.net Archive.