Domanda

Sto lavorando sulla scrittura di un client Python per le reti P2P Direct Connect. In sostanza, funziona collegandosi a un server centrale, e la risposta ad altri utenti che sono alla ricerca di file.

Di tanto in tanto, un altro cliente ci chiede di connettersi a loro, e potrebbero iniziare a scaricare un file da noi. Si tratta di un collegamento diretto con l'altro client, e non passare attraverso il server centrale.

Qual è il modo migliore per gestire queste connessioni ad altri clienti? Attualmente sto usando un reattore ritorto per la connessione al server, ma è meglio avere più reattori, uno per ogni cliente, con ognuno in esecuzione in un thread diverso? O sarebbe meglio avere uno script Python completamente separato che esegue la connessione al client?

Se c'è qualche altra soluzione che io non lo so, mi piacerebbe sentirla. Sono nuovo di programmazione con Contorto, quindi sono aperto a suggerimenti e altre risorse.

Grazie!

È stato utile?

Soluzione

Senza conoscere tutti i dettagli del protocollo, io consiglierei comunque utilizzando un unico reattore - Un reattore scale molto (in particolare quelli avanzati come PollReactor) bene e in questo modo si eviterà il sovraccarico connessi con fili (così ritorto e altri sistemi asincroni ottenere il loro contributo fondamentale prestazioni, dopo tutto - evitando tale dall'alto). In pratica, le discussioni a torto sono utili soprattutto quando si ha bisogno di interfacciarsi ad una biblioteca le cui funzioni potrebbero bloccare su di te.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top