I just completed making my own IPV4 peer-to-peer client
and a simple little
rendezvous server. It does UDP only, but
I made a texting app for both my PC
and my Android phone,
and developed my own protocol to do reliable file
transfer
over (unreliable) UDP.
I know I have just reinvented the wheel
here, but it has
given me the greatest satisfaction to do that. The
rendezvous
server is so simple it can run on a consumer
platform - it doesn't require
Apache or anything like that.
To connect P2P, a client contacts the server to
get the
addr/port of the other peer as seen by the server, then the
two peers
contact each other via NAT traversal. All the
server needs is a port forwarded
and a dynamic DNS service
to make it visible to its clients. The peers run
quite
happily hidden behind firewalls and NATs, with no ports
forwarded.
Thinking about the possibilities here gives me the
greatest
pleasure, like, I can text home from my phone to
the PC, upload and download
from it, control software
running on the PC from the phone, etc.
I did
it all on the PC side in C++ using the lowest level
Winsock code, thereby the
code I have should be easy to port
to Linux when and if. On the phone, the peer
is in Java, of
course.
[ Reply to This | Parent | # ]
|