I m working on writing a Python client for Direct Connect P2P networks. Essentially, it works by connecting to a central server, and responding to other users who are searching for files.
Occasionally, another client will ask us to connect to them, and they might begin downloading a file from us. This is a direct connection to the other client, and doesn t go through the central server.
What is the best way to handle these connections to other clients? I m currently using one Twisted reactor to connect to the server, but is it better have multiple reactors, one per client, with each one running in a different thread? Or would it be better to have a completely separate Python script that performs the connection to the client?
If there s some other solution that I don t know about, I d love to hear it. I m new to programming with Twisted, so I m open to suggestions and other resources.
Thanks!