MacDevCenter    
 Published on MacDevCenter (http://www.macdevcenter.com/)
 See this if you're having trouble printing code examples


P2P Networking with Rendezvous and iChat

by Derrick Story
08/28/2002

By now you've probably figured out that you can't reenact the famous iTunes/Rendezvous demonstration until the next release of iTunes--there'll be no play-list sharing for a few months yet. So what the heck can you do with Rendezvous in the meantime?

Actually, thanks to the iChat client included in Jaguar, quite a bit, including setting up a powerful peer-to-peer network. Here's a quick overview of instant messaging and file sharing via Rendezvous (to help you pass the time until the next release of iTunes).

Why Use Rendezvous Instead of AIM?

You might be thinking, "I'm already using AIM, MSN, or Yahoo, why should I care about Rendezvous?"

Well, a couple of reasons come to mind. First of all, Rendezvous is pure peer-to-peer communication; AIM is not. You don't need that big AIM server off in the cloud somewhere to enable (or disable as so often happens) your communication. In the business environment, your system administrator should feel a lot better about you communicating with your co-workers on a local, secure network, as opposed to going outside the firewall then back in. Second, Rendezvous is fast. The lightning speed of the exchanges is a relief compared to the sluggish conversations we've all experienced with AIM.

You can use the iChat client for AIM exchanges too, but I'm not using it at this point. I like reserving iChat for pure P2P networking. If I do use AIM, then I launch Adium, which is a terrific AIM client for Mac OS X.

So, how do you set up iChat for peer-to-peer networking? Let's get to it.

iChat Over an Established Local Network

Communication over your corporate LAN isn't quite as exciting as the ad hoc network in the next section, but in the business environment it's probably more practical. You can also add AirPort to this setup for more flexibility, but remember to enable WEP or some other security.

First, make sure that you and your mates are tapping into the same local network. Then open Address Book and create an entry for yourself. (Take a walk on the wild side and add a picture to your record too.) iChat uses this information and image to identify you to others.


Screen shot.
Make sure you have an entry for yourself in the Address Book application. iChat uses that information to identify you to others.

Launch iChat and open the Preferences panel. Click the "Accounts" icon at the top. Look for "Rendezvous Messaging" and click the box that reads "Enable local network messaging." Close Preferences, and you're set. All you need now is someone else to launch iChat, and your Mac will "discover" that person and display them in your Rendezvous buddy list. Start talking!

Screen shot.
Remember to enable Rendezvous in your iChat preferences.

iChat Over an Ad Hoc Peer-to-Peer Network

Logging on to an established network is fine, but what about those laptop situations where there isn't an established 802.11b or hard-wire network available? How are you going to gossip during a staff meeting? Fear not, Jaguar gives you all the tools you need to spread the dirt.

Basically, you set up a peer-to-peer network via 802.11b for Rendezvous to tap into (you'll need an AirPort card to do this). Open your Network Preference Panel and enable AirPort. Click on the AirPort tab and make sure you have the "Allow this computer to create networks" and "Show AirPort status in menu bar" boxes checked. Click "Apply Now" and close System Preferences.

Screen shot.
Now enable your computer to create networks.

Now click on the AirPort icon on the Menu Bar to reveal the drop down options. Select "Create Network ..." and you get a Computer to Computer dialogue box. Give your network a name and choose a channel. You can password protect this network, but for iChat that sort of defeats the purpose. Click OK.

Notice that the Menu icon changes from the AirPort reception bars to a little computer. You're in P2P mode! Now, anyone within range can select your ad hoc network from their drop down AirPort menu and connect.

Launch iChat. If anyone else has their client open on the P2P network, then the two computers will discover each other and the names will be listed in the Rendezvous buddy list. Start chatting! That's all there is to it -- no servers, no Internet, no fuss.

Sending Files Via Rendezvous

You can exchange more than just witty dialogue with this P2P set up. You can also send files and pictures to one another.

In your iChat window, click on the paper clip icon, and you'll be presented with a dialog box that lets you navigate to files on your hard drive. Pick a file and click the "Open" button. The icon for the file will be placed in your iChat typing window. You can add text along side the icon, then hit return. Both your message and the file icon (with its name) will show up in your buddy's window. If he wants to download the file, all he has to do is click on its hypertext name and it will instantly download onto his desktop. And I mean instantly.

If he doesn't want to receive the file, then all he has to do is ignore the link and nothing is transferred. If he doesn't want to download the file right at the moment, he can go back and retrieve it later, as long as the network is still viable and both chat windows are open.

Final Thoughts

At first glance iChat seems like just another IM client. But below that cartoon-like surface is a powerful P2P networking engine. If you're not a big fan of the balloon captions and buddy icons, those can be turned off via the "View" dropdown menu.

I hope this will keep you busy until iTunes and other Rendezvous-enabled applications are available.

Derrick Story is the author of The Photoshop CS4 Companion for Photographers, The Digital Photography Companion, and Digital Photography Hacks, and coauthor of iPhoto: The Missing Manual, with David Pogue. You can follow him on Twitter or visit www.thedigitalstory.com.


Return to the Mac DevCenter.


Copyright © 2009 O'Reilly Media, Inc.