Our game is a MMORTS. We support up to 5000 people per game, but for most indies this will be beyond reach considering the infrastructure required.
We coded all of our own socket code. It wouldn't be very easy to discuss, since most of it is designed to work with our servers.
If I was going to make a little wifi game, I would probably look at bonjour.. although that might not be true.. I would probably code my own stuff again... I find it easier to manage.
Depending on what you are trying to do, would make a huge difference on how pkts need to reach the end user. Something like TCP-IP will make sure the pkts get somewhere, but the biggest issue is the TCP-IP timeout at 2 min. You really don't want to have someone sitting there waiting on a pkt.
On the flip side using UDP you could lose pkts. So if it matters you need to code something to handle pkt loss. You could end up with warping characters in that case.
Dunno if you played UO (Ultima Online) is was designed with the player being TCP-IP, and everyone the player saw was UDP. One of the reasons you would see people warping around you if you were lagged. You would be stuck in one place, while the world passed you by.
You really need to think about your implementation and how you want the interaction to work, and then figure out if things like lag or pkt loss are issues. Then design your code based on that.
Sadly there is no simple, single use solution for people.