In this paper we consider the problem of sending data in real time from information sources to sets of receivers, using peer-to-peer communications. We consider several models of communication resources, and for each model we identify schemes that achieve successful diffusion of information at optimal rates. For edge-capacitated networks, we show optimality of the so-called "random-useful" packet forwarding algorithm. As a byproduct, we obtain a novel proof of a famous theorem of Edmonds, characterising the broadcast capacity of a capacitated graph. For node-capacitated networks, assuming a complete communication graph, we show optimality of the so-called "most-deprived" neighbour selection scheme combined with random useful packet selection. We then show that optimality is preserved when each peer can exchange data with a limited number of neighbours, when neighbourhoods are dynamically adapted according to a particular scheme. Finally, we consider the case of mul...