Sto scrivendo un'app per Android, infine (indicatemi) e per questa app ho bisogno di socket persistenti, ma chiudibili dall'utente, di rete (sì, più di una). Ho deciso di provare a scrivere la mia versione di un client IRC.
Tuttavia, il mio problema di progettazione è che non sono sicuro di come eseguire la connettività Socket stessa. Se metto le prese al livello di attività, continuano a chiudersi poco dopo che l'attività diventa non visibile (anche un problema che deve essere risolto ... ma penso di averlo capito) ... ma se eseguo un " servizio di connettività ", ho bisogno di scoprire se posso avere più istanze di esso in esecuzione (il servizio, cioè ... uno per server / socket). O quello o un ho bisogno di un modo per collegare i socket stessi e avere più thread in esecuzione che posso ancora comunicare direttamente (sistema di ID di qualche tipo).
Quindi la domanda: è un modello di progettazione "migliore", o almeno più "corretto", per mettere il Socket e la rete in un servizio, e fare in modo che le attività consumino detto servizio ... o dovrei legare le prese direttamente ad alcuni processi threaded posseduti dall'attività dell'interfaccia utente e non preoccuparsi affatto dell'implementazione del servizio? So che è meglio mettere la rete direttamente sul thread dell'interfaccia utente, ma è tutto ciò che sono riuscito a ottenere.