P2PD
stable
  • The problem with P2P networking
  • How P2PD works
  • The P2PD REST API
  • Using P2PD from Python
  • Future work
P2PD
  • P2PD Learning Portal
  • Edit on GitHub

P2PD Learning Portal

Contents

  • The problem with P2P networking
  • How P2PD works
    • Adressesses
    • Signaling
    • Methodology
    • Next Steps
  • The P2PD REST API
    • Starting the server
    • Making your first request
    • Looking up your peer’s address
    • Now lets try connect to it
    • Text-based send and receive
    • Binary send and receive
    • Bidirectional relay pipes
    • Publish-subscribe
  • Using P2PD from Python
    • Basics
      • Running async examples
      • Network interface cards
      • The addressing problem
      • Routes to the rescue
      • A first networking program
    • Pipes
      • TCP echo server example
      • UDP await example
      • Pipe methods
        • def subscribe(self, sub=SUB_ALL, handler=None)
        • def unsubscribe(self, sub)
        • async def recv(self, sub=SUB_ALL, timeout=2, full=False)
        • async def send(self, data, dest_tup=None)
        • def add_msg_cb(self, msg_cb)
        • def del_msg_cb(self, msg_cb)
        • def add_end_cb(self, end_cb)
        • def del_end_cb(self, end_cb)
        • def add_pipe(self, pipe)
        • def del_pipe(self, pipe)
        • async def close(self)
      • Additional pipe options
    • Queues
      • Javascript subscription example
      • Python subscription example
      • Last words on queues
    • Daemons
      • listen_all
      • listen_specific
    • TURN client
      • UDP is a little better
      • Using TURN as a fall-back option
    • STUN client
    • Examples
      • REST APIs
  • Future work
    • Network changes
    • Firewall bypass
    • Pushing sockets
    • Error recovery code
    • Other ideas
Next

© Copyright 2022. Revision 5b15dbe2.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: stable
Versions
latest
stable
Downloads
On Read the Docs
Project Home
Builds