Today I spent far too much time again investigating Bonjour zero configuration networking. Starting with my code from yesterday, I have now updated SendFile to allow you to share any file in your Media/Documents folder with another iPhone or iPod touch. The hardest part of the effort was trying to figure out how to send the name of the file along with its data; I ended up using simple property lists to send both. Another big hurdle involved Objective-C'ifying the Core Foundation code so that it would run as a separate "mdns" class rather than as part of my main application.
If you want to give this a try, you can download SendFile (version 0.22) from my FTP site. Select a file on one phone or touch and "share it". Then "scan" on the other. To switch roles, just quit the app (tap Home) and run it again.
So what next? It would be nice to have some features like passwords and choosing which file to download. Also, I think I may add the sharing (not the scanning) part to SendSong, if people are interested. I also need to figure out where I messed up in terms of switching from scanning to sending. I'd like people to be able to do both without having to restart the app.
Now that I have a relatively easy to use mdns class that can both send and receive, I think it would also be cool to start building apps that communicate with each other, like Chess or Battleship. And, of course, I still want to finish my Push-to-Talk toy. Got other requests or suggestions? Let me know in the comments.
Thanks to NerdVana, Chasehx, az1324 and Luke!